JSON对象里面的项目列表?

时间:2017-02-26 02:43:39

标签: arrays json node.js mongodb express

我有一点问题。

在我的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);
  }

1 个答案:

答案 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);