MongoDB搜索首选项

时间:2014-05-31 21:48:31

标签: mongodb

我想知道,$或查询中的条件顺序是否重要?

E.g。如果未找到userrole的文档,那么此查询是否可靠,以获取角色与userrole匹配的文档或仅 的任何其他文档?

{$or: [{role: 'userrole'},{}]}, {limit: 1}

1 个答案:

答案 0 :(得分:2)

订单无关紧要。

由于运算符$or$以文档方式进行评估,因此查询

{$or: [{role: 'userrole'},{}]}

将评估每个文档的true,因此它将始终返回集合中每个文档。

此外,如果您使用limit()方法,则会返回集合中的第一个n文档(根据其内部排序)。