NodeJs - 如何从mongoose输出中获取键值

时间:2017-07-29 18:35:40

标签: node.js mongodb mongoose

我使用以下函数来查询mongoose模型,并将输出显示为

[{“count”:10000}]。我想知道如何从mongoose返回的json中检索count的值,以便我可以用它来执行某些算术运算。

 module.exports.getNext = function (field, model) {

    mongoose.model(collection, identityCounterSchema).find({ 'field': field, 'model': model }, { "count": 1, "_id": 0 }, function (err, result) {
    console.log(JSON.stringify(result))
    var jsonObj = JSON.parse(JSON.stringify(result));
    console.log(jsonObj.count)
    return (jsonObj.count);
});
}

上面代码片段中的jsonObj.count返回undefined。

1 个答案:

答案 0 :(得分:1)

数组中的

result,您需要使用result[0].count来计算。 而且你不需要解析result字符串,然后回到对象,它已经是一个对象。

此外,如果您只想获得一个文档,则应使用model.findOne()函数:

mongoose.model(collection, identityCounterSchema)
  .findOne({ field, model })
  .then(obj => {
    console.log(obj);
    return (obj.count);
  })
  .catch(err => /* process error*/);