根据其ID查找具体书籍。但我无法更新该集合所有者数组。 该数组已经有一些值,但我想用下面的新值更新它。
Book.find({_id: "5423"},function(err,usr){
usr[0].update($set:{owner:["123","145"]});
答案 0 :(得分:1)
答案在official documentation中给出。这是一个可以在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的设计方式及其工作原理)。