【发布时间】:2018-11-17 01:30:27
【问题描述】:
我有一个 MongoDB 集合,其中的记录具有 "name" 字段,我正在尝试执行查找查询,其中名称字段在查询中出现两次。我想通过$nin 排除某些名称,并对其他名称执行正则表达式搜索。它似乎不起作用,因为它返回所有记录。如果我只有正则表达式搜索或 $nin 搜索,它会按预期工作。
db.users.find({name:{$nin:[current_user]}).cb(array) - 有效
db.users.find({name:new RegExp(/query/)}).cb(array) - 有效
db.users.find({name:{$nin:[current_user]}, name:new RegExp(/query/)}).cb(array) - 不起作用,current_user 不会从查找结果中排除。
我有一种感觉,find 命令对同一字段的多次出现进行最后一次查询,是这样吗?我该如何解决?
感谢您的帮助, 加里
【问题讨论】: