首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查询对象数组中的对象数组

查询对象数组中的对象数组
EN

Stack Overflow用户
提问于 2020-12-30 21:58:26
回答 1查看 36关注 0票数 0

我在下面有这个文档模型。我想通过名称和值的属性来查询(我知道属性的名称和值,例如。{"name": "Renk", "value": "Kirmizi"})。我只需要一份文件。我不需要变量或属性的索引,只需要文档本身。我的目的不是获取属性或变体。我正在查询所有文档。我希望你不要理解错了

代码语言:javascript
复制
{
    "_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)
}

有什么想法吗?谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-30 23:26:13

这应该是可行的。这将搜索精确的键和值对:

代码语言:javascript
复制
 {'variants.attributes': { 'name' : 'Renk', 'value' : 'Kirmizi' }}

Result on MongoDB Compass

注意:执行此操作时要小心{ "variants.attributes.name":"Renk","variants.attributes.value":"Kirmizi“}。对象是扁平化的,所以这个查询意味着查找包含键'Renk‘和值'Kirmizi’的任何文档,但是'Renk‘和'Kirmizi’可以在不同的对象中!

有关更多详细信息,请阅读Mongo的官方文档https://docs.mongodb.com/manual/tutorial/query-array-of-documents/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65508157

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档