首页 > 解决方案 > [MongoDB]如何从数组中查找对象?

问题描述

我正在尝试从对象数组中查询单个对象。

数组看起来像这样。

db.getCollection('user').getIndexes();

[
   {
        "v" : 1,
        "key" : {
            "_id" : 1
        }
    },
    {
        "v" : 1,
        "key" : {
            "name" : 1
        }
    },
    {
        "v" : 1,
        "key" : {
            "admin" : 1
        }
    }
]

不知道如何在“key”对象中找到具有“_id”属性名称的元素。

db.getCollection('user').getIndexes().[some sorting query];

{
     "v" : 1,
     "key" : {
         "_id" : 1
     }
}

有人有想法吗?谢谢你。

标签: arraysmongodb

解决方案


mongo shell 中的getIndexes助手接受过滤器作为参数,例如:

db.getCollection("user").getIndexes({"key._id":{$exists:true}})

从驱动程序中,您可以类似地运行 listIndexes 命令:

database.runCommand({listIndexes:"user", "key._id":{$exists:true}})

推荐阅读