一、插入文档
db.stus.insert({name:"猪八戒",age:28,gender:"男"})
db.stus.insert([
{name:"猪八戒",age:28,gender:"男"}
{name:"孙悟空",age:18,gender:"男"}
{name:"唐僧",age:24,gender:"男"}
{name:"白骨精",age:22,gender:"女",_id:"hello"}
])
二、查询文档
/* 返回的是数组,可加[0]取不同位置值。 */
db.stus.find({name:"猪八戒1",age:28})
db.stus.find({name:"猪八戒1",age:28})[0]
/* 只返回第一个对象,例:可加 .name,直接取值。 */
db.stus.findOne({name:"猪八戒1",age:28})
db.stus.findOne({name:"猪八戒1",age:28}).name
/* 查询数据量 */
db.stus.find().count()
三、修改文档
/* update会使用新对象替换旧对象
前一项是查询条件,后一项是替换内容 */
db.Day2.update({name:"猪八戒"},{age:18})
/使用修改操作符 $set,可只修改某一属性,默认只修改第一个出现的属性/
db.Day2.update(
{"_id" : ObjectId("5d47a2a7fd80d69538e09964")},
{$set:{
gender:"男",
address:"高老庄"
}}
)
/$unset删除文档指定属性/
db.Day2.update(
{"_id" : ObjectId("5d47a2a7fd80d69538e09964")},
{$unset:{
address:"高老庄"
}}
)
/updateMany可修改多个文档属性/
db.Day2.updateMany(
{gender: "男"},
{$set:{
gender:"male1"
}}
)
/(update,条件multi)与 updateMany作用相同/
db.Day2.update(
{gender: "male1"},
{$set:{
gender:"male2"
}},
{multi:true}
)
四、删除文档
/默认删除所有符合条件的文档/
db.Day2.remove({"_id" : "hello"})
/justone:true 只删一个/
db.Day2.remove(
{"gender" : "male2"},true
)
/若条件为空,则会删除所有文档/
db.Day2.remove({})
/清空集合/
db.Day2.drop()
/一般情况,不直接删除数据,而是添加字段作为条件隐藏文档/
db.Day2.insert([
{name:"swk",isDel:0},
{name:"ts",isDel:0}
])
db.Day2.update({name:"ts"},{$set:{isDel:1}})
db.Day2.find({isDel:0})
/以下两条命令同样可以达到删除文档的目的/
db.Day2.deleteOne()
db.Day2.deleteMany()