【发布时间】:2021-07-22 19:04:10
【问题描述】:
我想更新公司数组中的每个元素(对象)。
这是我的实际数据:
{
_id: ObjectId("60d31024860ce0400b586111")
contracts:
[
{
name: 1.pdf
url: "https://someurl"
createdAt: 2021-06-23T10:42:44.594+00:00
}
{
name: 2.pdf
url: "https://someurl"
}
{
name: 3.pdf
url: "https://someurl"
}
]
}
我想为每个没有“updatedAt”键的对象(在合同中)添加一个定义的日期。
这是我尝试过的:
db.companies.update({ _id: ObjectId("60d31024860ce0400b586111"),"contracts.createdAt": { $exists: false } },{ $set: { "contracts.$.createdAt": "test" } })
但我收到了这个错误: "位置运算符没有从查询中找到所需的匹配项。"
我也试过这个,它有效,但我不想按文件名查询。我只想在没有“createdAt”的每个元素上添加“createdAt”
db.companies.update({ "contracts.name": "2.pdf" },{ $set: { "contracts.$.createdAt": "atest" } })
【问题讨论】:
标签: mongodb