使用数字键在对象中搜索值

时间:2013-12-22 07:39:58

标签: mongodb

在Mongo系列中,我有这样的对象:

{
    "domains" : {
        "0" : "jwlhKRQ",
        "1" : "fgqAvas"
    },
    ...
}

如何在"jwlhKRQ"对象中选择包含值为domains的字段的所有文档

单个查询是否可以实现这一目标?

1 个答案:

答案 0 :(得分:2)

使用$where运算符,向其传递一个javascript函数,该函数会将domains中的每个值与给定值"jwlhKRQ"进行比较。

db.myCollection.find({ $where:
    function() {
        for (var key in this.domains) {
            if (this.domains[key] == "jwlhKRQ") {
                return true;
            }
        }
    }
})

请注意,此类查询无法利用索引。