【问题标题】:javascript undefined, when I just logged itjavascript未定义,当我刚刚记录它时
【发布时间】:2018-02-02 10:09:52
【问题描述】:

所以我刚刚发布了一个关于嵌套日期对象的 Q 并得到了一个快速的答案,感觉有点傻,这很明显,但是当其他东西抛出未定义的错误时,我很快就得到了一个正确的响应。

我在一个“找到”键的方法调用中,然后我想将该键中的数据用于其他事情

这个:

Coupon.findKey( req.params._key, (err, key) => {

    if ( err ) {
        return res.status(400).send(err);
    }

    console.log('---------- key '+key+'----------');

});

给我这个:

---------- key { _id: 5a72c5cbe617796370219fb3, token: 'mWJhRlytyjaxztWfsP6tpH7PccEpSfkemZqyt9pf26e4fI1b32e5Qun8LfLKmkhXMytFtB7QYHHLUgGV0V7AwUB055Cp78Old2IrBHlmgDDFl6qYxe05cgTFLzjmzuAZ', user_id: 5a72c5cbe617796370219fb2, type: 'registration', __v: 0, date: { redeemed: null, issued: 2018-02-01T07:46:19.449Z } }----------

很明显 - Coupon.findKey() 返回了一个对象。该对象“似乎”有 _id 和 user_id 可用。

但是如果我这样做

Coupon.findKey( req.params._key, (err, key) => {

    if ( err ) {
        return res.status(400).send(err);
    }

    console.log('---------- key '+ key._id +'----------');

});

我明白了

---------- key undefined----------

什么鬼。 Javascript,你破坏了我的意志……

帮助任何人....

我的挫败感越来越大 mongoose not returning a record

【问题讨论】:

  • 只需打印typeof key 并告诉我们您收到了什么。
  • 键的类型是对象
  • @jpmyob:请问console.log(JSON.stringify(key))
  • @Cerbrus,也许是JSON.parse
  • key 似乎是一个数组。试试key[0]._id

标签: javascript


【解决方案1】:

key 似乎是一个数组。

从该数组中获取第一个条目:key[0]._id

key[0] 是:

{
    "_id": "5a72c5cbe617796370219fb3",
    "key": "mWJhRlytyjaxztWfsP6tpH7PccEpSfkemZqyt9pf26e4fI1b32e5Qun8LfLKmkhXMytFtB7QYHHLUgGV0V7AwUB055Cp78Old2IrBHlmgDDFl6qYxe05cgTFLzjmzuAZ",
    "user_id": "5a72c5cbe617796370219fb2",
    "type": "registration",
    "__v": 0,
    "date": {
        "redeemed": null,
        "issued": "2018-02-01T07:46:19.449Z"
    }
}

【讨论】:

  • 我检查了这个答案 - 但正如我上面提到的,这种行为似乎不稳定。我必须记住 stringify 技巧,我相信...的类型。
  • 好吧,我的传奇还在继续……stackoverflow.com/questions/48574699/…
猜你喜欢
  • 2019-10-31
  • 1970-01-01
  • 2011-07-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-17
相关资源
最近更新 更多