我有这样的数据
Mywants:[
{"title":"lap","rate":$20}
{"title":"lap","rate":$20}
{"title":"lap","rate":$20}
]
如果我将新数据保存到数组(mywant)中,我应该使用新的唯一 ID 保存,那么如何使用 JavaScript 进行保存。所以它应该看起来像:
Mywants:[
{"title":"lap","rate":$20,_id:objectId("512640f3243c837c0e0004401}
{"title":"lap","rate":$20,_id:objectId("512640f3243c837254000001}
{"title":"lap","rate":$20,_id:objectId("512640f3243c8372540257001}}
]
要插入,我正在使用类似的命令
collection.update({"userid":1248787885},{$push:{"Mywant":{"title":"car","rate":$100}}});
最佳答案
正如 andyb 所指出的,您必须通过构造一个新元素来为新元素生成 ObjectId
。但您不需要单独的库:
var mongodb = require('mongodb');
collection.update(
{"userid":1248787885},
{$push:{"Mywant":{
_id: new mongodb.ObjectID(),
"title":"car",
"rate":$100
}}});
当然,$100
不是有效的 JavaScript 类型,但我假设您知道这一点。还值得注意的是Mongoose为您将 _id
字段添加到数组元素中,这是另一种选择。
关于javascript - 如何使用 JavaScript 在 mongodb 中设置唯一 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15019683/