MongoDB文档操作
约 718 字大约 2 分钟
文档操作
1.数据库操作
1.1 进入 MongoDB
在 D:\MongoDB\bin 目录下打开 cmd
mongo.exe
1.2 使用数据库
| 语法 | 解释 | 备注 |
|---|---|---|
| use school | 切换到 school 数据库下 | 如果此数据库存在,则切换到此数据库下,如果此数据库还不存在也可以切过来,但是并不能立刻创建数据库 |
| show dbs | 查看所有数据库 | 我们刚创建的数据库 school 如果不在列表内, 要显示它,我们需要向 school 数据库插入一些数据 db.students.insert({name:'zfpx',age:1}) |
| db | 查看当前使用的数据库 | db 代表的是当前数据库 也就是 school 这个数据库 |
| db.dropDatabase() | 删除数据库 |
2.集合操作
2..1 查看集合帮助
db.students.help()
2..2 查看数据库下的集合
show collections
2.2 创建集合
2.2.1 创建一个空集合
db.createCollection(collection_Name)
collection_Name 集合的名称
2.2.2 创建集合并插入一个文档
- collection_Name 集合的名称
- document 要插入的文档
db.collection_Name.insert(document)
3.插入文档
3.1 insert
db.collection_name.insert(document);
collection_name 集合的名字
document 插入的文档
每当插入一条新文档的时候 mongodb 会自动为此文档生成一个
_id属性,_id 一定是唯一的,用来唯一标识一个文档_id 也可以直接指定,但如果数据库中此集合已经有此_id 的话插入会失败。db.students.insert({_id:1,name:'xiaoming',age:1}) WriteResult({'nInserted':1}) db.students.insert({_id:1,name:'xiaoming',age:1})
3.2 save
db.collection_name.save(document)
collection_name 集合的名字
document 插入的文档
注:如果不指定_id 字段,save()方法类似于 insert()方法。如果指定_id 字段,则会更新该_id 的数据。
db.students.save({_id:1,name:'xiaoming',age:1})
WriteResult({'nMatched':1},"nUpserted":0,"nModified":0)
db.students.save({_id:1,name:'xiaoming',age:100})
WriteResult({'nMatched':1,'nUpserted':0,'nModified':1})
4.更新文档
4.1 语法
db.collection.update(
<query>,
<updateObj>,
{
upsert: <boolean>,
multi: <boolean>
}
)
4.2 参数
- query 查询条件,指定要更新符合哪些条件的文档
- update 更新后的对象或指定一些更新的操作符
- $set 直接指定更新后的值
- $inc 在原基础上累加
- upset 可选,这个参数的意思是,如果不存在符合条件的记录时是否插入 updateObj,默认是 false,不插入。
- multi 可选,mongodb 默认只更新找到第一条记录,如果这个参数为 true,就更新所有符合条件的记录。
4.3 upsert
将students集合中数据中name是 zfpx2 的值修改为 zfpx22
db.students.insert({_id:1,name:'zfpx1'});
WriteResult({'nInserted':1})
db.students.update({_id:2},{name:'zfpx2'},{upsert:true});
WriteResult({'nInserted':0,'nUpserted':1,'nModified':0,'_id':2})
4.4 multi
- 如果有多条 name 是 zfpx2 的数据只更新一条,如果想全部更新需要指定
{multi:true}的参数
db.students.update({name:'zfpx2'},{$set:{age:10},{multi:true}});
WriteResult({"nMatched":2},"nUpserted":0,"nModified":2);