我使用以下函数来查询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。
答案 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*/);