MongoDB--基礎操作 增刪改查

一、插入文檔

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()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章