我在下面有这个文档模型。我想通过名称和值的属性来查询(我知道属性的名称和值,例如。{"name": "Renk", "value": "Kirmizi"})。我只需要一份文件。我不需要变量或属性的索引,只需要文档本身。我的目的不是获取属性或变体。我正在查询所有文档。我希望你不要理解错了
{
"_id" : ObjectId("5febdbf5d71b7ca4eef06cc5"),
"variants" : [
{
"id" : "xtb2E3PVNitmh5xhuRAFNd",
"attributes" : [
{
"name" : "Renk",
"value" : "Kirmizi"
},
{
"name" : "Beden",
"value" : "36"
},
{
"name" : "Yaka Tipi",
"value" : "V Yaka"
}
]
},
{
"id" : "aP6CDPsgVLxTLgY5D6bTm9",
"attributes" : [
{
"name" : "Renk",
"value" : "Kirmizi"
},
{
"name" : "Beden",
"value" : "38"
},
{
"name" : "Yaka Tipi",
"value" : "V Yaka"
}
]
},
{
"id" : "b3mLCJXe6ae8HhNAY8dCPW",
"attributes" : [
{
"name" : "Renk",
"value" : "Mavi"
},
{
"name" : "Beden",
"value" : "38"
},
{
"name" : "Yaka Tipi",
"value" : "V Yaka"
}
]
},
{
"id" : "hYrANxJTbXmEYDUjtFpEKT",
"attributes" : [
{
"name" : "Renk",
"value" : "Mavi"
},
{
"name" : "Beden",
"value" : "36"
},
{
"name" : "Yaka Tipi",
"value" : "V Yaka"
}
]
}
],
"updatedDate" : NumberLong(1609292789)
}有什么想法吗?谢谢!
发布于 2020-12-30 23:26:13
这应该是可行的。这将搜索精确的键和值对:
{'variants.attributes': { 'name' : 'Renk', 'value' : 'Kirmizi' }}注意:执行此操作时要小心{ "variants.attributes.name":"Renk","variants.attributes.value":"Kirmizi“}。对象是扁平化的,所以这个查询意味着查找包含键'Renk‘和值'Kirmizi’的任何文档,但是'Renk‘和'Kirmizi’可以在不同的对象中!
有关更多详细信息,请阅读Mongo的官方文档https://docs.mongodb.com/manual/tutorial/query-array-of-documents/
https://stackoverflow.com/questions/65508157
复制相似问题