【问题标题】:Nodejs json object one attribute value does not print while other does [duplicate]Nodejs json对象一个属性值不打印,而另一个属性值[重复]
【发布时间】:2018-02-18 05:03:10
【问题描述】:

我的数据库中有一个reservation 模型。这就是我获取一个条目的方式(使用猫鼬),

reservationModel.get_reservation_by_user_id(payload.user.id, function (err, reservations) {
      if (err) {
        console.log(err);
      } else {
        console.log(reservations);
        console.log(reservations[0].user);  // prints undefined                         
        console.log(reservations[0].from); // prints 0900
      }
    });

这是控制台输出。

Dialog Opened sucessful
[ { _id: 5a887a20734d1d041bb6a1f3,
    tutor: '5a760a1f734d1d3bd58c8d52',
    user: 'U8XDVJD26',
    date: 2018-02-17T13:53:45.415Z,
    day: 'Saturday',
    from: '0900',
    to: '1030',
    active: 'no' },
  { _id: 5a887bd2734d1d041bb6a24f,
    tutor: '5a760a1f734d1d3bd58c8e12',
    user: 'U8XDVJD26',
    date: 2018-02-17T14:00:45.415Z,
    day: 'Saturday',
    from: '0930',
    to: '1130',
    active: 'no' } ]
undefined
0900

如何获取用户的价值?

【问题讨论】:

  • 给定的代码没有问题
  • 您能否编辑您的问题以包含reservationModel 的架构定义?很可能您没有在架构定义中添加该字段。
  • 非常感谢,我在架构中写了 user_id 而不是 user。

标签: node.js mongodb mongoose


【解决方案1】:

如果你想通过 id 获取记录,你需要使用方法findById。示例:

reservationModel.findById(payload.user.id, function (err, reservations) {
      if (err) {
        console.log(err);
      } else {
        console.log(reservations);
        console.log(reservations.user);                     
        console.log(reservations.from);
      }
    });

【讨论】:

  • 我已经编写了一个逻辑来在我自己的函数get_reservation_by_user_id 中查找预订,当我记录响应时,它显示得很好,因为我也在输出中显示了它。所以我不认为问题出在方法调用上。
  • 我理解你。抱歉回答错误。
【解决方案2】:

我的架构中写了“user_id”而不是“用户”,这是错误。

【讨论】:

    猜你喜欢
    • 2015-07-05
    • 2021-09-10
    • 2015-10-22
    • 2017-06-07
    • 1970-01-01
    • 1970-01-01
    • 2016-03-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多