【发布时间】:2016-07-22 17:38:14
【问题描述】:
我正在尝试访问返回的 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 访问结果。
但这是什么原因造成的?我不记得以前必须这样做。
【问题讨论】:
-
您的控制台中究竟显示了什么?
-
@RyanO'Hara '未定义'。记录整个用户对象会按照应打印的方式打印对象,包括所有属性和值。
-
您能否提供包含 1 个数据样本的最小插入脚本?
-
'for(文档中的用户)';不是“的”
-
@activatedgeek 我可以,但我确信这无关紧要。因为接收响应的客户端(angularjs)能够访问属性。反正我会加的。
标签: javascript node.js mongodb mongoose ecmascript-6