abi*_*tra 5 mongodb node.js mongodb-query node-mongodb-native
我收集了products近 10 万份带有名字的文档。我想引入一个新的密钥,称为 在所有文档中secondaryKey具有唯一值。uuid我使用nodejs.
我面临的问题:-
当我尝试以下查询时,
db.collection('products').updateMany({},{"$set":{secondaryKey: uuid()}});
Run Code Online (Sandbox Code Playgroud)
在这里它更新所有具有相同值的文档uuid,
我尝试使用循环来一一更新文档,但这里的问题是我没有filter价值,updateOne因为我想更新所有文档。
任何人都可以在这里帮助我吗?谢谢 :)
如果您使用的 MongoDB 版本 >= 4.4 您可以尝试以下操作:
db.products.updateMany(
{},
[
{
$set: {
secondaryKey: {
$function: {
body: function() {
return UUID().toString().split('"')[1];
},
args: [],
lang: "js"
}
}
}
}
]
);
Run Code Online (Sandbox Code Playgroud)
输出
[
{
"_id": ObjectId("..."),
"secondaryKey": "f41b15b7-a0c5-43ed-9d15-69dbafc0ed29"
},
{
"_id": ObjectId("..."),
"secondaryKey": "50ae7248-a92e-4b10-be7d-126b8083ff64"
},
{
"_id": ObjectId("..."),
"secondaryKey": "fa778a1a-371b-422a-b73f-8bcff865ad8e"
}
]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2601 次 |
| 最近记录: |