【发布时间】:2021-07-19 07:37:03
【问题描述】:
我有一个包含以下对象的集合:
{
...
"address": {
"addressLine1": "some address"
"city": "some city"
}
}
如果存在address,我需要更新所有对象以添加address.fullName = address.addressLine1(不要问为什么:D)。
我尝试在 Robo 3T 中运行此脚本:
db.getCollection('suppliers').updateMany(
// query
{},
// update
{ $set: { address: { fullName: $address.address1 } } },
// options
{
// update only one document
"multi" : true,
// insert a new document, if no existing document match the query
"upsert" : false
}
);
我有一个错误
"$address 未定义"
我应该如何编写脚本
- 更新
address.fullName = address.addressLine1 - 不要重写整个对象和子对象地址(重要)
【问题讨论】: