İ 根据其 ID 找到特定的书。但我无法更新该集合所有者数组。该数组已经有一些值,但我想用下面的新值更新它。
Book.find({_id: "5423"},function(err,usr){
usr[0].update($set:{owner:["123","145"]});
官方文档中给出了答案。这是一个可以在 Mongo shell 中执行的示例:
b1 = { 'name' : 'Introduction to MongoDB', owners : [1, 10] }
b2 = { 'name' : 'SQL for Dummies', owners : [5] }
db.Books.save(b1)
db.Books.save(b2)
book = db.Books.find().next() // just picking first available book
db.Books.update({ _id : book._id }, { $pushAll : { owner : [123, 145]} })
请注意,MongoDB 不会返回您和更新的文档(同样,这就是 DB 的设计方式和工作方式)。