将variables传递给mongo更新?

我有一个如下所示的mongo文件:

{ "_id" : '4fb2a4809ad7324ccba1f6b8', "events" : { "4fb2a4809ad7324ccba1f6b9" : {a:{z:1},b:{z:2},c:{z:3}}, "4fb2a4809ad7324ccba1f610" : {a:{z:1},b:{z:2},c:{z:3}} } } 

然后我的服务器得到一个更新对象。

 update = { _id = '4fb2a4809ad7324ccba1f6b8', event_id: '4fb2a4809ad7324ccba1f610', changed_data: {a:{b:3}} } 

ab = 3已被创build或更改。 这并不意味着a = {b:3},因此我不想覆盖已存储在文档中的现有az = 1。

我将如何写这些更改的primefaces更新? 我无法弄清楚的主要是如何将variables传递到命令中来定位子对象。 (使用node-mongodb-native)

谢谢你的帮助!

更新的文件看起来像:

 { "_id" : '4fb2a4809ad7324ccba1f6b8', "events" : { "4fb2a4809ad7324ccba1f6b9" : {a:{z:1},b:{z:2},c:{z:3}}, "4fb2a4809ad7324ccba1f610" : {a:{z:1, b:3},b:{z:2},c:{z:3}} } } 

 for (var id in update.changed_data) { for (var sub_id in update.changed_data[id]) { db.collection.update({ "_id" : update._id, "$atomic" : "true" },{ $set: {'events.' + update.event_id + '.'+ id +'.' + sub_id : update.changed_data[id][sub_id] } }); } } 

你也可以查看这个URL: http : //www.mongodb.org/display/DOCS/Updating#Updating-ModifierOperations