javascript - Mongoose - 无法访问对象属性?

标签 javascript node.js mongodb mongoose 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;
}

有什么想法吗? 我还尝试使用 JSON.parse 以防它被字符串化(只是为了确保)但事实并非如此。

更新

看来我可以使用 user._doc.email 访问结果。 但这是什么原因造成的呢?我不记得以前必须这样做。

最佳答案

如果您在 console.log 时出现文档中的字段整个文档,但不是当您直接访问该字段时,这意味着模型的架构定义中缺少该字段。

所以添加emailUser 的模式.

关于javascript - Mongoose - 无法访问对象属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36381311/

相关文章:

javascript - 创建 div 的深拷贝

jquery - Express 不路由某些 jQuery 请求

node.js - brcypt 模块未对密码进行哈希处理

mongodb - 我如何在 Heroku 上获取 MongoDB 版本号?

javascript - jquery 效果突出显示不起作用

javascript - 聊天类型 - 滚动到底部 - Angular 2

javascript - Rails 3 设备 : destroy localStorage and sessionStorage when logout?

javascript - 首先在 gulp 中连接一个文件

mongodb - PyMongo MongoClient 副本集无法连接

node.js - 使用 MongoDB 和 Angular universal/webpack 的关键依赖