使用mongo的梯形失真js错误:Vehicle.model.updateItem不是函数TypeError:Vehicle.model.updateItem不是函数。
目标是使用对象更新模型,就像我使用ff创建商品的方式一样。下面的代码。
keystone.createItems({
Vehicle: postJson
}, function (err, stats) {
if (err) return res.json(err);
res.json({
data: stats.message
});
console.log("Succeeded!!")
});
现在,我正在尝试使用对象的json数组和唯一ID更新模型上的数据,其中itemToUpdate是与要更新的文档匹配的查询,而fieldToUpdate是包含所需字段的对象一个新的价值。但这会引发错误Vehicle.model.updateItem不是函数TypeError:Vehicle.model.updateItem不是函数
var itemToUpdate = {
vin_no: value.vin_no
}
var fieldToUpdate = {
Vehicle: value
}
Vehicle.model.updateItem(
itemToUpdate,
fieldToUpdate,
function (err, stats) {
if (err) return res.json(err);
res.json({
data: stats.message
});
console.log("Succeeded!!")
})
任何想法我们如何使用对象更新数据。 ?
答案 0 :(得分:0)
您应该这样使用
// assuming value is object with all the fields.
var itemToUpdate = {
vin_no: value.vin_no
}
Vehile.model.findOne(itemToUpdate, function(error, vehicleObject) {
Vehicle.updateItem(
vehicleObject,
value,
function (err) {
// err can be Error object or an object with 'error' and/or 'detail' property
if (err) return res.json(err);
res.json({
status: "success"
});
console.log("Succeeded!!")
})
})
如果itemToUpdate
的字段数可变,则可以为此调用添加选项
var options = { field: 'vin_no, model_year, num_owners' }
并将其作为Vehicle.updateItem(Vehicle.model, itemToUpdate, options, callback)