Mongodb 使用数字键搜索对象中的值

Mongodb 使用数字键搜索对象中的值,mongodb,Mongodb,在Mongo集合中,我有如下对象: { "domains" : { "0" : "jwlhKRQ", "1" : "fgqAvas" }, ... } 如何在域对象中选择包含值为“jwlhKRQ”的字段的所有文档 通过单个查询是否可以实现这一点?使用运算符,向其传递一个javascript函数,该函数将域中的每个值与给定值“jwlhKRQ”进行比较 注意,这种查询不能利用索引。有没有其他不使用函数的解决方案?据我所知,没有,除非可以选择重

在Mongo集合中,我有如下对象:

{
    "domains" : {
        "0" : "jwlhKRQ",
        "1" : "fgqAvas"
    },
    ...
}
如何在
对象中选择包含值为“jwlhKRQ”的字段的所有文档

通过单个查询是否可以实现这一点?

使用运算符,向其传递一个javascript函数,该函数将
域中的每个值与给定值
“jwlhKRQ”
进行比较


注意,这种查询不能利用索引。

有没有其他不使用函数的解决方案?据我所知,没有,除非可以选择重新构造数据。如果可以将数据存储为
{domains:[“jwlhKRQ”,“fgqAvas”]}
,则可以使用
$in
运算符。
db.myCollection.find({ $where:
    function() {
        for (var key in this.domains) {
            if (this.domains[key] == "jwlhKRQ") {
                return true;
            }
        }
    }
})