从 WriteResult mongo 获取值
getting values from WriteResult mongo
我试图熟悉 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
方法没有 return 任何东西。所有结果都通过回调方法报告,因此您可以使用这样的方法:
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)
})
Mongoose 不会让您访问完整的 WriteResult
,但只要 err
为空,您就可以放心 save
成功了,这只是是否成功的问题更新了现有文档或添加了新文档。因为您要在此处创建新文档,所以 numberAffected
将始终为 0。
我试图熟悉 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
方法没有 return 任何东西。所有结果都通过回调方法报告,因此您可以使用这样的方法:
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)
})
Mongoose 不会让您访问完整的 WriteResult
,但只要 err
为空,您就可以放心 save
成功了,这只是是否成功的问题更新了现有文档或添加了新文档。因为您要在此处创建新文档,所以 numberAffected
将始终为 0。