Node.js 如何更新mongodb
我有收藏,结构如下, 如何使用以下内容更新Node.js 如何更新mongodb,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我有收藏,结构如下, 如何使用以下内容更新标记字段: ——id:556C1C836E800821F41D9F \u versions.id:556C1C836E800821F41DA6 \版本。\数据。\ id:556c71735ddb5010067f1beb [{ "_id": ObjectId("556c1c836e80082821f41d9f"); "_name": "Product 1" "_curr_version": ObjectId("556c1c83
标记
字段:
——id:556C1C836E800821F41D9F
\u versions.id:556C1C836E800821F41DA6
\版本。\数据。\ id:556c71735ddb5010067f1beb
[{
"_id": ObjectId("556c1c836e80082821f41d9f");
"_name": "Product 1"
"_curr_version": ObjectId("556c1c836e80082821f41da6")
"_versions": [{
"_id": ObjectId("556c71735ddb5010067f1be6"),
"_data": [{
"_id": ObjectId("556c1cae82b9a3101787d20f"),
"_tags": ['sport', 'football']
}, {
"_id": ObjectId("556c71735ddb5010067f1beb"),
"tags": ['golf']
}
]
},
{
"_id": ObjectId("556c1c836e80082821f41da6"),
"_data": [{
"_id": ObjectId("556c1cae82b9a3101787d20f"),
"_tags": ['sport', 'swimming']
}, {
"_id": ObjectId("556c71735ddb5010067f1beb"),
"tags": ['tenis']
}
]
}
]
}]
我在nodejs上工作,并使用mongosee驱动程序访问mongodb。我已经找到了解决办法
- 在我获得
将存储定位为\u版本之前。\u数据。\u id:556c71735ddb5010067f1beb
变量pos
- 在此之后,我:
var ObjectId = require('mongoskin').ObjectID; var setObject = {}; setObject["_versions.$._data."+ pos +"._tag"] = ['a','b']; db.use("MongoDB").collection('collections').update({ "_id": new ObjectId('556c1c836e80082821f41d9f'), "_versions._id": new ObjectId('556c1c836e80082821f41da6') }, { $set : setObject }, {}, cb);