MongoDB数据库的操作
一、操作MongoDB数据库
1、创建数据库
语法:ues
注意:如果数据库不存在则再创建数据库,否则切换到指定的
数据库!如果刚刚创建的数据不在列表中,如果需要显示这个数
据库,那么需要在刚刚创建的数据库中插入一些数据(db.student.
insert({name:"Tom",age:22,gender:1,address:"北京",
isDelete:0}))
2、查看数据库
语法:show dbs
3、查看当前正在使用的数据库
a. db
b. db.getName() #mongoDB区分大小写
4、断开连接
exit
5、查看命令api
help
6、删除数据库
前提:使用当前数据库(use 数据库名)
db.dropDatabase()
二、集合操作
1、查看当前数据库下有哪些集合
show collections
2、创建集合
a.
语法:db.createCollection("集合名")
示例:db.createCollection("class")
b.
语法:db.集合名.insert(document)
示例:db.集合名.insert({name:"Tom",age:22,gender:1,
address:"北京",isDelete:0})
对比:两者的区别在于前者创建的是一个空的集合,后者
创建一个空的集合并添加一个文档
3、删除当前数据库中的集合
语法:db.集合名.drop()
示例:db.class.drop()
三、文档操作
1、插入文档
a.使用insert()方法插入多条文档
语法:db.集合名.insert([文档1,文档2,文档3...])
示例:db.class.insert([{name:"Tom",age:22,gender:1,
address:"北京",isDelete:0},{name:"kaka",age:22,gender:1,
address:"北京",isDelete:0},{name:"hua",age:22,gender:0,
address:"北京",isDelete:0}])
b.使用save()方法插入文档
语法:db.集合名.save(文档)
说明:若果不指定_id字段,save()方法类似于insert()方法,
如果指定_id字段,则会更新_id字段的数据
示例1:db.student.save({{name:"khan",age:22,gender:1,
address:"北京",isDelete:0}})
示例2:db.student.save({_id:objectId("id值")},{name:"khan",
age:23,gender:1,address:"北京",isDelete:0})
2、文档更新
a.update()方法用于更新已存在的文档
语法:
db.集合名.update(
<query>,
<update>,
{
upset:<boolean>,
multi:<boolean>,
writeConcern:<document>
})
参数说明:
query:update的查询条件,类似于sql里update语句内where后面
的内容
update:update的对象和一些更新的操作符($set,$inc)等,$set
直接更新,$inc在原有的基础上累加后更新
upset:可选的参数,如果不存在update的记录,是否有新数据插入,
true为插入,false为不插入,默认为false
multi:可选,mongoDB默认是false,只更新找到的第一条记录,如果
为true,就按照查找出来的数据全部更新
writeConcern:可选,抛出异常的级别
需求:将khan的年龄更新为25
示例:db.student.update({name:"khan"},{$set:{age:25}})
# $inc:累加年龄
db.student.update({name:"khan"},{$inc:{age:25}})
# 同名人的年龄全改为18
db.student.update({name:"kaka"},{$set:{age:18}},
{multi:true})
b.save()方法通过传入的文档替换已有文档
语法:
db.集合名,save(
document,
{
writeConcern:<document>
})
参数说明:
document:文档数据
writeConcern:可选,抛出异常的级别
3.文档删除
说明:在执行remove()函数前,先执行find()命令来判断执行
的条件是否存在
语法:
db.集合名.remove(
query,
{
justOne:<boolean>
writeConcern:<document>
})
参数说明:
query:可选,删除文档的条件
justOne:可选,如果为true或1,则只剩一个文档
4.文档查询
MongoDB数据库的操作的更多相关文章
- MongoDB数据库简单操作
之前学过的有mysql数据库,现在我们学习一种非关系型数据库 一.简介 MongoDB是一款强大.灵活.且易于扩展的通用型数据库 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数 ...
- MongoDB数据库基础操作
前面的话 为了保存网站的用户数据和业务数据,通常需要一个数据库.MongoDB和Node.js特别般配,因为Mongodb是基于文档的非关系型数据库,文档是按BSON(JSON的轻量化二进制格式)存储 ...
- mongodb数据库集合操作
1:更新update update() 方法用于更新已存在的文档.语法格式如下: db.collection.update( <query>, <update>, { upse ...
- linux下的mongodb数据库原生操作
mongodb,是一种结构最像mysql的nosql mysql中的数据库,mongodb中也有,区别在于, myql中数据库下的是表,字段和数据的形式存在 mongodb数据库下的是叫集合(和pyt ...
- MongoDB数据库常用操作
推荐文章 --- 一天精通MongoDB数据库 注意: monogdb数据在使用之后必须及时 mongodb.close()否则后台崩溃. 1. 删除文档中的一个字段 db.<集合名>.u ...
- mongodb数据库常用操作的整理
这是个人在项目中抽取的代码,自己写的utils的通用模块,使用的框架是tronado,包括了数据库的认证,以及增删改查排序,如有特别需要可以联系我或者自己扩展,刚学python不久,仅供参考,例子如下 ...
- windows 安装 Mongodb 数据库及操作图形化软件 Robo 3T
1 下载系统对应的正确 Mongodb 和 Robo 3T 版本 2 选中 Mongodb 需要安装的路径(后续会使用路径) 3 启动 Mongodb 服务器(到安装相关的路径) 可以参考 菜鸟教程 ...
- MongoDB数据库的操作,增删改查
在student集合中插入一些数据 db.student.insert({ "学号":10010, "姓名":"德莱文", "年龄 ...
- mongodb数据库高级操作
1.创建索引 2.索引名称 3.其他索引 4.explain 5.操作索引 6.高级特性 7.固定集合 8.导入导出 9.上锁 10.添加用户 11.主从复制
随机推荐
- 3.JSP
JSP(Java Server Pages)页面是指扩展名为.jsp的文件,在一个JSP中可以包含指令标识,HTML代码, JavaScript代码,嵌入的Java代码,注释和JSP动作标识等 ...
- Java操作Redis数据
Redis 是完全开源免费的,遵守BSD协议,先进的key - value持久化产品.它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map),列表(list) ...
- Set的遍历以及排序详讲
java中Set集合是一个不包含重复元素的Collection,首先我们先看看遍历方法 package com.sort; import java.util.HashSet; import jav ...
- 前端面试题总结——HTML(持续更新中)
前端面试题总结--HTML(持续更新中) 1.什么是HTML? HTML:HyperText Markup Language超文本标记语言 2.XHTML和HTML有什么区别 HTML是一种基本的WE ...
- idea 下运行安卓项目
修改 gralde 路径修改安卓sdk路径进入project structure 设置 Project settings / Project /project SDK 选择 Android API 2 ...
- SQL server中的一些查询
SQL 不同于与其他编程语言的最明显特征是处理代码的顺序.在大数编程语言中,代码按编码顺序被处理,但是在SQL语言中,第一个被处理的子句是FROM子句,尽管SELECT语句第一个出现,但是几乎总是最后 ...
- CSS - 设置 select 元素的样式
注意:option 外面有个框,这个框不同浏览器生成的还不一样,给这个框设置样式的方法也没有找到(有说法是这是浏览器创建的 shadow dom 没法设置).所以要想完全控制还是用列表进行模拟比较好. ...
- 谈谈 UI 中, Padding 和 Margin 有什么区别?
android:padding 和 android:layout_margin 的区别,其实概念很简单,padding 是站在父 view 的角度描述问题,它规定它里面的内容必须与这个父 view 边 ...
- 阶段3 2.Spring_08.面向切面编程 AOP_6 四种常用通知类型
新建项目 复制上节课的pom.xml内的代码 复制java下的代码 测试类也复制过来 配置文件也拷贝过来 logge下增加几个方法 测试方法只需要一个saveAccount方法就可以了 增加其他三种通 ...
- 阶段3 2.Spring_03.Spring的 IOC 和 DI_1 ioc的概念和作用
IOC的含义 new的方式创建对象,是主动去找对象.对我的资源独立就变的很难,因为这有明显的依赖关系 第二种方式创建对象.app断开了和资源的联系,.而是去找工厂要一个资源.由工厂负责和资源去的联系, ...