1. 程式人生 > >mongoDB更新數組裡面的一組物件的屬性

mongoDB更新數組裡面的一組物件的屬性

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:

  1. mongodb $all操作符 $all操作符幫助選擇collection中field是array型別的,且該array包含所有指定的元素的d […]...
  2. mongodb db.collection.remove用法 dbDao 百度貼吧:http://tieba.baidu.com/dbdao MongoDB技術學習QQ群: […]...
  3. MongoDB _id Key的一些資訊 關於 mongodb _id key: _id key可以使用者分配,也可以由mongodb自動分配,一般採用自 […]...
  4. MongoDB db.collection.remove()方法 mongodb中刪除document採用remove方法, http://docs.mongodb.org/m […]...
  5. MongoDB $unset重置某個field 對於已經有值的field,在mongodb中可以使用$unset操作符來重置該field。 http://do […]...
  6. 瞭解db.collection.find() db.collection.find()可能是mongodb中最常用的方法之一了,其定義為db.collect […]...
  7. E11000 duplicate key & mongorestore mongorestore 可以將mongodump工具匯出的資料匯入到其他mongodb資料庫中。 由於mon […]...
  8. C100DBA MongoDB講解-update in replication C100DBA MongoDB講解-update in replication dbDao 百度貼吧:http […]...
  9. MongoDB sharding collection 與 unique index dbDao 百度貼吧:http://tieba.baidu.com/dbdao MongoDB技術學習QQ群: […]...