mongoDB更新數組裡面的一組物件的屬性
阿新 • • 發佈:2018-12-24
MongoDB 如何更新數組裡面的一組物件的屬性?
如下面的例子
語法如下:
db.collection.update(
{ },
{ : { "array.$.field" : value } }
)
db.students.insert ({
_id: 4,
grades: [
{ grade: 80, mean: 75, std: 8 },
{ grade: 85, mean: 90, std: 5 },
{ grade: 90, mean: 85, std: 3 }
]
})
db.students.update(
{ _id: 4, "grades.grade" : 85 },
{ $set: { "grades.$.std" : 6 } }
)
> db.students.insert ({
... _id: 4,
... grades: [
... { grade: 80, mean: 75, std: 8 },
... { grade: 85, mean: 90, std: 5 },
... { grade: 90, mean: 85, std: 3 }
... ]
... })
WriteResult({ "nInserted" : 1 })
>
>
> db.students.update(
... { _id: 4 , "grades.grade": 85 },
... { $set: { "grades.$.std" : 6 } }
... )
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
>
> db.students.find();
{ "_id" : 4, "grades" : [ { "grade" : 80, "mean" : 75, "std" : 8 }, { "grade" : 85, "mean" : 90, "std" : 6 }, { "grade" : 90, "mean" : 85, "std" : 3 } ] }
>
>
>
> db.students.find().pretty();
{
"_id" : 4,
"grades" : [
{
"grade" : 80,
"mean" : 75,
"std" : 8
},
{
"grade" : 85,
"mean" : 90,
"std" : 6
},
{
"grade" : 90,
"mean" : 85,
"std" : 3
}
]
}
若要多個filed 匹配則使用
db.students.update(
{
_id: 4,
grades: { $elemMatch: { grade: { $lte: 90 }, mean: { $gt: 80 } } }
},
{ $set: { "grades.$.std" : 6 } }
)
相關文章 | Related posts:
- mongodb $all操作符 $all操作符幫助選擇collection中field是array型別的,且該array包含所有指定的元素的d […]...
- mongodb db.collection.remove用法 dbDao 百度貼吧:http://tieba.baidu.com/dbdao MongoDB技術學習QQ群: […]...
- MongoDB _id Key的一些資訊 關於 mongodb _id key: _id key可以使用者分配,也可以由mongodb自動分配,一般採用自 […]...
- MongoDB db.collection.remove()方法 mongodb中刪除document採用remove方法, http://docs.mongodb.org/m […]...
- MongoDB $unset重置某個field 對於已經有值的field,在mongodb中可以使用$unset操作符來重置該field。 http://do […]...
- 瞭解db.collection.find() db.collection.find()可能是mongodb中最常用的方法之一了,其定義為db.collect […]...
- E11000 duplicate key & mongorestore mongorestore 可以將mongodump工具匯出的資料匯入到其他mongodb資料庫中。 由於mon […]...
- C100DBA MongoDB講解-update in replication C100DBA MongoDB講解-update in replication dbDao 百度貼吧:http […]...
- MongoDB sharding collection 與 unique index dbDao 百度貼吧:http://tieba.baidu.com/dbdao MongoDB技術學習QQ群: […]...