查找MongoDB的记录,其中数组字段不为空

luoyjx · 2016-03-25 13:12 · 2976次阅读

我所有的记录都有一个名为“照片”字段中。 此字段是一个字符串数组。 我现在想要最新的10条记录,其中该数组不为空。 我GOOGLE了四周,但奇怪的是我还没有发现太多这一点。 我已经读入$其中选项,但我想知道的是原生的函数有多慢,如果有一个更好的解决方案。 即使这样,还是不行:

ME.find({$where: 'this.pictures.length > 0'}).sort('-created').limit(10).execFind()

没有返回值。离开“this.pictures”没有长度位的工作,但随后他也将返回空的记录,当然。

1. 经过寻找,特别是在MongoDB的和令人费解的位combinations在一起,这就是答案:
ME.find({pictures: {$not: {$size: 0}}})

2. 这也可能为你工作:
ME.find({'pictures.0': {$exists: 1}});
收藏

暂无评论

登录后可以进行评论。没有账号?马上注册