我如何做一个' OR' Mongoose中带有查询构建器的运算符?
我尝试过这样的事情:按ID或用户名查找用户 但它没有用。
User.findOne({})
.where( '_id', 'username').equals(param)
答案 0 :(得分:3)
尝试这些方面:
User.findOne({
$or:[
{'condition_1':param}, {'condition_2':param}
]},
function(err,docs){
if(!err) res.send(docs);
}
});
答案 1 :(得分:0)
我的解决方案
// Needed to user ObjectID comparison
const { ObjectID } = require('mongodb');
// Check if param is a valid ID otherwise is Username
let id_or_username = ObjectID.isValid(id) ? '_id' : 'username';
// Find post by ID or Username
Home
.findOne({})
.where(id_or_shortid).equals(id)
.exec(callback)