2

İ 根据其 ID 找到特定的书。但我无法更新该集合所有者数组。该数组已经有一些值,但我想用下面的新值更新它。

 Book.find({_id: "5423"},function(err,usr){
    usr[0].update($set:{owner:["123","145"]});
4

1 回答 1

1

官方文档中给出了答案。这是一个可以在 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 的设计方式和工作方式)。

于 2012-10-17T12:07:11.147 回答