查找带有条件的查询到子属性不能找到模型

时间:2013-01-11 18:11:13

标签: mongodb mongoose

我想提出一个简单的findOne请求,我有一个尝试在“子属性”上设置条件。

我试图找到的模型确实存在于我的bdd上,但我每次都在else案例中去了:

Model.findOne({ email : { value: 'toto@gmail.com' } }, 'username email', function(error, User){
    if (error){
        console.log('Error query.');
    }else if (User){
        console.log('User found from email.'); //Expected to go here
    }else{
        console.log('Any user found.'); //Goes here everytime
    }
});

我想这是正常的,因为我的其他查询不在“子属性”上运行良好,那么这样做的方法是什么(从“子属性”中查找模型)?

1 个答案:

答案 0 :(得分:2)

您需要使用dot notation来查询子文档的字段:

Model.findOne({ 'email.value': 'toto@gmail.com' }, ...