Mongoose - 无法访问对象属性?

Ari*_*ger 5 javascript mongoose mongodb node.js ecmascript-6

我试图访问返回的MongoDB(mongoose)查找的属性.

如果我尝试控制整个对象的日志,我可以看到它.但是,如果我尝试记录一个属性,我会得到undefined.对象就在那里!

function getAll () {
    let d = q.defer();

    User.find({}, function (err, docs) {
        if (err) {
            d.reject(err);
        }

        for(let user of docs) {
            console.log(user); // This works!
            console.log(user.email); // This returns undefined!
        }

        d.resolve();
    });

    return d.promise;
}
Run Code Online (Sandbox Code Playgroud)

任何的想法?我也尝试使用JSON.parse,以防它被字符串化(只是为了确保),但事实并非如此.

UPDATE

所以我似乎可以使用访问结果user._doc.email.但究竟是什么原因造成 我不记得以前必须这样做.

Joh*_*yHK 19

如果文档中的字段显示console.log在整个文档中,而不是直接访问该字段时,则表示模型的模式定义中缺少该字段.

所以添加email到架构中User.