gpt4 book ai didi

node.js - 如何查询 mongoose 以便搜索必须匹配两个 id

转载 作者:太空宇宙 更新时间:2023-11-04 03:05:42 24 4
gpt4 key购买 nike

我有这段代码,它根据两个 id 搜索文档。

User.find({
$or: [
{ id: req.body.myId },
{ id: req.body.id }
]
}, function(err, users) {
console.log(users)
});

这工作正常,但是,假设 req.body.myId 未定义,那么它将仅获取与 req.body.id 匹配的所有文档。我需要它是这样的,如果它找不到与一个 ID 相关的任何文档,那么它不应该获取另一个 ID 的任何内容,而是返回一个空的用户数组。

最佳答案

在执行查询之前进行检查,如果其中一个参数未定义,则不要执行它,这样就不会对 MongoDB 进行不必要的调用。像这样的东西:

if (!req.body.myId || !req.body.id) {
// return here empty array or whatever
}

顺便说一句,在您的情况下,通常使用 $in 运算符:

User.find({
id: {
$in: [req.body.myId, req.body.id]
}
}, function(err, users) {
console.log(users)
});

关于node.js - 如何查询 mongoose 以便搜索必须匹配两个 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41325365/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com