如何更新MongoDb

时间:2015-10-22 02:59:54

标签: javascript mongodb

$ set超出完整数组值如何更新

                var obj = // contains some other data to update as well 
                obj.images=images;  //  updating obj with images []
                Units.update({_id: 'id', {$set: obj});

最后我的mongo对象必须是这样的

{
"_id" : "ZhBgrNFtr2LRPkQrZ",
"sitouts" : "test",
"interiors" : "test",
"features" : "test",
"keyHolder" : "test",
"images" : [
    "1445481257465-8678-20130520_113154.jpg", ## `updated value ` ##
    "1445481257456-3-20130520_113157.jpg",
    "1445481258058-5771-20130520_113202.jpg",
    "1445481258230-9603-20130521_075648.jpg"
]

}

2 个答案:

答案 0 :(得分:0)

https://docs.mongodb.org/manual/reference/operator/update/push/ $ push,$ each,$ slice。请参阅文档。

答案 1 :(得分:0)

以下是一些更新图像数组而不会覆盖它的方法:

更新特定索引

Units.update({_id: id}, {$set: {'images.0': obj.images[0]}})

附加单个值

Units.update({_id: id}, {$push: {images: obj.images[0]}})

附加多个值

Units.update({_id: id}, {$push: {images: {$each: obj.images}}})