一、插入文檔
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()