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