一、增加
insert向数据库中插入集合
插入一条记录,传入集合
1 2 | db.. insert () db.students. insert ({ name : "唐僧" ,age:60,gender: "M" }) |
插入多条记录,传入数组
1 | db.students. insert ([{ name : "猪八戒" ,age:53,gender: "M" },{ name : "沙僧" ,age:50,gender: "M" }]) |
默认生成时间戳id,确保数据唯一,原理是调用如下语句,可以自行指定id
默认:
ObjectId()
自行指定:
1 | db.students. insert ({_id: "001" , name : "白骨精" ,age:60,gender: "W" }) |
insertOne向数据库中插入集合
插入一个文档对象,只能传入一个文档,不能传入数组
1 | db.students.insertOne({_id: "002" , name : "铁扇公主 " ,age:60,gender: "W" }) |
insertMany向数据库中插入集合
插入多个文档对象,只能传入一个数组,即使只存在一个文档,不能传入文档
1 | db.students.insertMany([{_id: "004" , name : "牛魔王" ,age:60,gender: "M" },{_id: "005" , name : "红孩儿" ,age:60,gender: "M" }]) |
其实是对insert的拆分
二、查询
查询集合中所有符合条件的文档
find进行查询集合所有文档
1 2 | db.students.find(); db.students.find({}); |
find进行条件查询
{}:表示集合中所有文档;
{属性:值} 查询属性是指定值的文档
1 2 3 4 5 6 7 | db.students.find({_id: "002" }); db.students.find({_id: "002" , name : "刘德华" }); db.students.find({_id: "002" }). count (); ----查看查询的文档的数量 db.students.find({_id: "002" }).length(); |
find返回值为数组,可以通过下标获取对应值
findOne进行条件查询
findOne返回的为Object,可以用返回值.对象
查询集合中符合条件的第一个文档,最多一条文档
1 | db.students.findOne({ name : "AideHua" }); |
三、修改
update(查询条件,新对象)
db..update(查询条件,新对象)
如:db.students.update({_id:”002″},{age:18}) 注意:将会用新对象{age:18}替换之前旧对象
修改前
修改后
update(查询条件,{$set:修改文档属性})
1 | db.students. update ({_id: "004" },{$ set :{age:180}}) |
修改操作符
set ——修改文档指定属性
unset——删除文档指定属性(和值无关)
默认只会修改一个
如果想要进行修改多个,指定可选参数multi
1 | db.students. update ({_id: "004" },{$ set :{age:880}},{multi: true }) |
updateMany()
同时修改多个符合条件的文档
匹配多少个,就会修改多少个的值
1 | db.students.updateMany({_id: "004" },{$ set :{age:180}}) |
updateOne()
修改一个符合条件的文档
只会修改匹配的第一个
1 | db.students.updateOne({_id: "004" },{$ set :{age:180}}) |
replaceOne()
替换文档
四、删除
remove()
删除符合条件的而所有文档,默认删除所有,删除单个需要指定可选参数justOne为:true
删除多个,默认情况
1 | db.students.remove({ name : "Liming" }) |
删除单个
1 | db.students.remove({ name : "Liming" }, true ) |
必须指定参数,否则报错,注意和find()区别
1 | db.students.remove();//报错 |
删除所有文档,但是集合还是存在的
1 | db.students.remove({}); |
删除集合,若是数据库的最后一个人集合,那么数据库也会被删除
1 | db.students. drop (); |
deleteOne()
删除一个
1 | db.students.deleteOne({ name : "Liming" }) |
deleteMany()
删除多个
1 | db.students.deleteMany({ name : "Liming" }) |
到此这篇关于MongoDB实现增删改查的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持IT俱乐部。