如何在mongodb数据库中查找包含模式中多个集合的文档

时间:2017-10-14 13:57:41

标签: node.js mongodb mongoose

以下是我的MongoDB架构。

var userSchema = mongoose.Schema({

    local            : {
        username     :String,
        name         : String,
        email        : String,
        password     : String,
    },
    facebook         : {
        id           : String,
        token        : String,
        email        : String,
        name         : String
    },
    twitter          : {
        id           : String,
        token        : String,
        displayName  : String,
        username     : String
    },
    google           : {
        id           : String,
        token        : String,
        email        : String,
        name         : String
    }

});

我想找到包含我在参数中指定的用户名的文档并实现它我在下面的代码行写下

module.exports.getUserByUsername = function(username, callback){
   var u = new User();

    var query = {u.local.username: username};
    User.findOne(query, callback);
}

但它表示意外的令牌。我该怎么做?

1 个答案:

答案 0 :(得分:0)

您的query需要使用点符号字符串提供要匹配的字段名称:

var query = {'local.username': username};