是否可以在mongoose查找参数的变量基础上使用$ nin和$ in?
如果假设我得到req.params.take = True,那么我希望参数检查
Document.find({_id : {
$in:[PreDefinedArray]
}}
或者如果它不存在我希望它是
Document.find({_id : {
$nin:[PreDefinedArray2]
}}
对于许多使用匹配的populate语句,这不是可以的,因此我不能使用if else或任何其他条件语句来使用多种类型的查询。可以用其他技术完成吗?当我尝试用这样的字符串变量替换$ in和$ nin
时var selector = (check) ? ("$in") : ("$nin");
Document.find({_id : {
selector : [PreDefinedArray2]
}}
但它没有用。
答案 0 :(得分:0)
在mongoose中使用条件语句:
{
$cond:
{
if: <boolean-expression>, then: <true-case>,
else: <false-case->
}
}