【发布时间】:2015-09-30 04:55:07
【问题描述】:
在猫鼬填充后,我在通过文档内部匹配的值查询文档时遇到了一些问题。
我的架构是这样的:
var EmailSchema = new mongoose.Schema({
type: String
});
var UserSchema = new mongoose.Schema({
name: String,
email: [{type:Schema.Types.ObjectId, ref:'Email'}]
});
例如,我希望所有用户的电子邮件类型为“Gmail”。
以下查询返回空结果:
Users.find({'email.type':'Gmail').populate('email').exec( function(err, users)
{
res.json(users);
});
我不得不像这样在 JS 中过滤结果:
users = users.filter(function(user)
{
for (var index = 0; index < user.email.length; index++) {
var email = user.email[index];
if(email.type === "Gmail")
{
return true;
}
}
return false;
});
有没有办法直接从猫鼬那里查询类似的东西?
【问题讨论】:
标签: javascript node.js mongodb mongoose