【发布时间】:2021-12-04 22:19:15
【问题描述】:
要么我遗漏了什么,要么这可能是 Node.js 驱动程序问题?
const users = await User.find({ 'test.test': { $gt: 0 } }).lean();
我的用户文档都不包含test 对象,因此没有一个应该满足此过滤器的条件。但是,它不是不返回任何文件,而是返回我所有的用户文件。根据documentation,如果没有通过/空过滤器,它应该只返回集合中的所有文档?
编辑: 我说的是忽略过滤器,因为它似乎只在对未定义的属性应用嵌套过滤器时发生。例如,如果我添加了一些文档满足的更多过滤条件,它们将*正确地应用。
示例:User.find({ username: { $exists: true }, 'test.test': { $gt: 0 } }) 仅返回存在username 的用户文档,但它们仍然没有test 对象。
【问题讨论】:
标签: javascript node.js mongodb-query