[英]mongoose find multiple documents
我有一个基本的User
架构
var UserSchema = new Schema({
name: {
type: String,
required: true
},
password: {
type: String,
required: true
}
});
现在我要实现dual login
功能,
async.parallel([
function (cb) {
User.findOne({$and: [{name: req.body.username1}, {password: req.body.password1}]}, function (err, u) {
if (!u)
err = "User1 dose not exist";
cb(err, u)
});
},
function (cb) {
User.findOne({$and: [{name: req.body.username2}, {password: req.body.password2}]}, function (err, u) {
if (!u)
err = "User2 dose not exist";
cb(err, u)
});
}
], function (err, results) {
....
我想在一个User.find()
函数中是否找到一种简单的方法来查找这两个用户信息?
您只需使用$or
。 另外,您对$and
的使用在这里是多余的:
User.find({
"$or": [
{ "name": req.body.username1, "password": req.body.password1 },
{ "name": req.body.username2, "password": req.body.password2 }
]
},function(err,result) {
// logic in here
})
然后处理需要用来验证响应的任何逻辑,最明显的情况是,如果响应的长度不小于两个项目,则找不到选择之一。
这是“用户名”当然应该具有唯一约束的情况之一。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.