从WriteResult mongo获取值

137

我试图熟悉mongo中的WriteResult对象,但无法访问其任何值。文档说插入的值的数量存储在WriteResult.nInserted中。尝试访问nInserted导致服务器崩溃。

var readings = new Readings({
    val1: parseInt(Data[0]),
    val2: parseInt(Data[1]),
    val3: parseInt(Data[2]),
    val4: parseInt(Data[3]),
    val5: parseInt(Data[4]),
    val6: parseInt(Data[5]),
})
var result = readings.save(function (err, post){
    if(err){return next(err)}
    res.status(201).json(readings)
})
if(result.nInserted > 0){
    console.log('wrote to database')
}
else{
    console.log('could not write to database')
}

我知道数据正在写入数据库。我在mongo shell中看到了它。

香港强尼

save模型实例上方法不返回任何内容。所有结果都是通过回调方法报告的,因此您将使用以下方法:

readings.save(function (err, doc, numberAffected){
    if(err){return next(err)}
    if (numberAffected > 0) {
        console.log('updated an existing doc');
    } else {
        console.log('added a new doc');
    }
    res.status(201).json(doc)
})

猫鼬不会让您访问完整文档WriteResult,但只要为errnull,您就可以放心save成功了,这仅是更新现有文档还是添加了新文档的问题。由于您是在此处创建新文档,numberAffected因此始终为0。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章