我有一点问题。
在我的MongoDB集合中,我有以下记录:
{
"_id" : ObjectId("58a77186e8b26df363d40195"),
"email" : "mail@mail.com",
"password" : "password123",
"fullName" : "Ola",
"interests" : ["football", "baseball"],
"__v" : 0
}
我想解析“兴趣”部分,但是当我尝试以下代码时
var data = user;
console.log(data.interests);
...我刚收到“未定义”。
当我尝试访问console.log(数据)时,我收到:
{ __v: 0,
interests: [ "football", "baseball" ],
fullName: 'Ola',
password: 'password',
email: 'mail@mail.com',
_id: 58a77186e8b26df363d40195 }
有没有人可以看到这个问题?我真的很陌生。我正在使用Node.JS
更新
这是通过回调发送数据对象的函数:
try {
decoded = jwt.decode(token, config.secret);
User.findOne({
email: decoded.email
}, function(err, user) {
if (err) throw err;
if (!user) {
callback(false);
} else {
callback(true, user);
}
});
} catch (e) {
callback(false);
}
答案 0 :(得分:2)
我不知道问题会在哪里发生。我使用你的obj运行代码工作正常(除了你从数据库中获取它,我直接分配,但那不是问题)。
var obj={
"_id" : "58a77186e8b26df363d40195",
"email" : "mail@mail.com",
"password" : "password123",
"fullName" : "Ola",
"interests" : ["football", "baseball"],
"__v" : 0
}; //I removed ObjectId() because of error: "message": "Uncaught ReferenceError: ObjectId is not defined",
for(var k in obj)
{
console.log(obj[k]);
}
//or directly doing it
console.log(obj.interests);