设置查询以查看对象数组的特定索引

时间:2015-07-27 19:55:12

标签: javascript mongodb mongoose

我在设置查询时遇到问题 - 它是一个对象数组,我正在查看特定的索引。所以我的Schema有一个对象数组的字段:

{userID: ObjectID,
someArray: [{foo: "bar"},{bar: "foo"}]}

我想返回SomeArray中第一个元素具有非空对象或someArray不包含null的所有记录。

我尝试过使用:

 db.find({someArray: {$exists: true, $not: {$size: 0}} })

然而,someArray经常有一个空对象,所以不起作用。 如果全部失败,我可能会缓存整个集合并使用原始javascript进行过滤,尽管这可能不是理想的做法。

1 个答案:

答案 0 :(得分:1)

为了解决您的问题,我建议使用$ ne(不等于)帮助

您案例中的实施:

db.find({someArray: {$ne: null})