【发布时间】:2022-01-12 00:28:48
【问题描述】:
我正在尝试在 MongoDB 3.4 上进行查询,其中我为数组的一个特定元素添加了一个字段。对象示例:
{
"_id": 1,
"people": [
{
"name": "Jhon Smith",
"age": "30",
"state": "NY"
},{
"name": "Clint Mercer",
"age": "50",
"state": "NY"
},{
"name": "Walter Smith",
"age": "40",
"state": "WI"
}
]
}
我想进行一个查询,我将在该文档中添加一个属性,其中包含名称中带有“Smith”的第一人称。示例:
{
"_id": 1,
"people": [
{
"name": "Jhon Smith",
"age": "30",
"state": "NY"
},{
"name": "Clint Mercer",
"age": "50",
"state": "NY"
},{
"name": "Walter Smith",
"age": "40",
"state": "WI"
}
],
"firstSmith": {
"name": "Jhon Smith",
"age": "30",
"state": "NY"
}
}
我已经有了我想要的文档的_id,但是我不明白如何进行这样的查询。我正在尝试使用聚合与“$match”作为 id 和“$addFields”之后,但我无法进行适用于该字段的查询以准确找到我想要的内容。我认为它类似于“findOne”查询,但我找不到任何适用于“$addFields”的东西。
Obs:我不希望“firstSmith”是一个只有一个“人”的数组,我希望它与示例中的一样。
我希望能得到一些帮助。
【问题讨论】:
标签: mongodb mongodb-query nosql aggregation-framework