【发布时间】:2018-05-24 13:52:57
【问题描述】:
我正在尝试将 Mongoose 中的两个查询合并为一个。
现在,我正在这样做:
User.find({ _id: req.body.userId }, (err, user) => {
User.find({ username: decodedUser.username }, (err, member) => {
console.log("user\n", user)
console.log("member\n", member)
})
})
我想对数据库进行一次User.find() 查询,结果是我想要的所有文档的对象(或数组),例如在本例中为[user, member] 的数组。这将使我不必运行User.find() 两次。理想情况下,我希望查询的结果是一个对象,以便我可以更轻松地找到特定的键/值集,而不是我必须遍历以查找特定元素的数组。 我该怎么做?
注意:这有效:
User.find({ $or:
[
{ _id: req.body.userId },
{ username: decodedUser.username}
]}, (err, results) => {
console.log("results\n", results)
})
results 是我想要的文档数组。但是,我想知道是否有更好的方法。
【问题讨论】:
标签: javascript arrays mongodb object mongoose