node.js - 如何在 Mongoose 中使用 elemMatch 进行查询?

标签 node.js mongoose

我正在尝试根据以下 mongodb 查询查询我的 mongodb 集合中的用户:

db.users.find("boxes":{"$elemMatch":{"a":"foo","b":"bar"}})

如果我直接使用 mongodb 查询,这将有效。它返回任何拥有带有 a="foo"和 b="bar"的框的用户。

如何在 mongoosejs 中查询这个?我试过使用 User.find().elemMatch 但它不起作用。无论如何,这似乎只是在预测结果。原始的 mongodb 查询确实对我有用,我只需要能够在 mongoosejs 中复制它。有什么想法吗?

最佳答案

mongoose 中 elemMatch 的文档是 here .
我还没有测试过,但看起来你会想要这样做

User.find().elemMatch("boxes", {"a":"foo","b":"bar"})

关于node.js - 如何在 Mongoose 中使用 elemMatch 进行查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22359867/

相关文章:

javascript - 在 mongoose/mongodb 中删除

node.js - NodeJS 与 Mongoose - 实用地将 url 添加到使用 find() 检索到的图像中

node.js - Mongodb 关系 : Posts and Comments (ref v sub-documents)

node.js - 使用 loopback.js 组合路由和 api 身份验证的正确方法

javascript - 如何在类中正确 require Electron BrowserWindow

node.js - Passport-github 支持 Github 的 OAuth v3 API

javascript - Mongoose 保存嵌套的对象数组 - Node.js

node.js - Node : should package. json 位于 src 文件夹中还是位于父文件夹中?

node.js - 使用 Kafka 和 NodeJS 的实时通知

node.js - Mongoose 模型在填充后获得未定义的属性