【发布时间】:2019-08-24 11:10:02
【问题描述】:
我正在运行 MongoDB v3.6.8、Node v8.12.0 和 Mongoose v5.4.4。
这个纯粹的 OR 查询产生结果:
db.messages.find( { $or : [ { senderId : "5c97ca3eed0cc17e8cfb0486" }, { receiverId : "5c8430effe7df210ee3264bf" } ] })
此 AND OR 查询不返回任何结果:
db.messages.find( { $and : [ { $or : [ { senderId : "5c8430effe7df210ee3264bf" }, { receiverId : "5c97ca3eed0cc17e8cfb0486" } ] }, { $or : [ { senderId : "5c97ca3eed0cc17e8cfb0486" }, { receiverId : "5c8430effe7df210ee3264bf" } ] } ] } )
虽然因为它是一个 AND OR 查询,但 if 应该返回结果,因为一个 OR 查询确实如此。我在这里错过了什么吗?我的 AND OR 查询有问题吗?我直接从这里的 Mongo 文档开始:https://docs.mongodb.com/manual/reference/operator/query/and/
任何帮助将不胜感激!
【问题讨论】: