如何通过数组内的属性查询嵌套对象?

时间:2018-01-24 03:53:12

标签: lokijs

我有几千个(可能是30-40k)文档的集合,其结构(大大简化)如下:

{
 propA:'123',
 obj: [
       {prop1:'a'},
       {prop1:'b'},
       {prop1:'c'}
 ],
 propB:456
}

如何查询查找obj.prop1==='b'所有文件?我似乎无法弄清楚如何检查数组属性中对象的属性。 这是使用版本1.5.1。

谢谢!

更新 我已经完成了对MongoDB样式查询的挖掘(我相信Loki会模仿?)。下面的内容适用于Mongo,但不适用于Loki:myCollection.find( { "obj.prop1": "b" } )。 Loki给我一个错误: Uncaught SyntaxError:意外的令牌。

更新2 已解决 - 请参阅我的回答......

1 个答案:

答案 0 :(得分:1)

我需要在我的查询中将嵌套属性名称包含在引号中。我在Mongo中尝试过的查询示例实际上在Loki中工作,如果你将object.propName包含在引号中,那么这可以工作:myCollection.find( { "obj.prop1": "b" } )