mongodb - MongoDB - 使用增量值更新属性
问题描述
我有一个集合称为经销商如下。
{
"_id" : ObjectId("5b9ba196cd5f5af83bb0dc71"),
"name" : "SOME COMPANY",
"outletID" : "GS0061920",
"companyID" : "GC0050397"
}
我在这个集合中有大约 5000 个文档,其中outletID
属性companyID
为空。
我想用增量值更新此集合中所有文档的这两个属性。
我不确定我应该怎么做。
注意:MongoDB 3.4 正在使用中。
解决方案
假设您在 mongodb shell 上运行。您可以使用以下内容:
> var counter = 1;
> db.collection.find().forEach(
function(elem) {
db.myColl.update(
{ "outletID" : null, "companyID" : null},
{$set:{ outletID: counter , companyID: counter }
});
counter++;
});
mongo shell 是一个交互式 JavaScript 界面。我已经使用 JS 来完成这项任务。counter 是一个简单的变量,用于更新值。$set用于更新字段。
$set 运算符将字段的值替换为指定的值。您可以在其官方文档中找到更多数据。
推荐阅读
- messaging - 如何使用纯 javascript 在 mesibo 中获取特定用户或组的所有消息
- python - python字符串拆分切片并放入列表
- angular - 组中的自定义 ag-grid 单元格
- google-apps-script - GAS:连接到 API 时出现错误 500
- c# - 将文件上传/下载到 Google Cloud Storage 时可能出现的异常
- java - Ant+ 连接性
- java - 从 WSL 完全卸载 opendjk-11
- git - 使用 \n 作为分支名称的一部分将 mercurial 迁移到 git - “致命:预期的提交者,但没有得到”
- python - 参数化夹具问题
- apache-spark - 在 Kubernetes 上使用 Spark 启用动态分配?