Javascript 将数据保存到环回中的现有模型实例中
我有一个名为ModelA的模型,它使用基类模型,而不是PersistedModel。 ModelA包含一个现有的模型实例,其中包含以下文档Javascript 将数据保存到环回中的现有模型实例中,javascript,node.js,object,loopbackjs,strongloop,Javascript,Node.js,Object,Loopbackjs,Strongloop,我有一个名为ModelA的模型,它使用基类模型,而不是PersistedModel。 ModelA包含一个现有的模型实例,其中包含以下文档 { "_id" : ObjectId("5cf34da5265db517d8e366d3"), "userId" : ObjectId("5cf34da5265db517d8e366d0"), "providers" : [ "123456789", "1598763690", "
{
"_id" : ObjectId("5cf34da5265db517d8e366d3"),
"userId" : ObjectId("5cf34da5265db517d8e366d0"),
"providers" : [
"123456789",
"1598763690",
"1407850217",
"1720082597"
],
"countByType" : {
"doctors" : 3,
"laboratories" : 0,
"hospitals" : 0,
"imagingCenters" : 0,
"other" : 2
}
}
我现在面临的问题是如何将数据保存到现有的模型实例中
var modelInstance = new ModelA({userId: user.id, providers: ['111111111','222222222'], countByType: userProviderData.countByType});
UserProvider.save({validate: false, throws: false },function(err, user) {
if(err) {
console.log('Errorsssssss ',err);
} else {
console.log(user);
}
});
检查了以下文档,但这是创建新实例,而不是保存到现有模型中
任何帮助都将不胜感激。您可以使用类似updateAll的工具:
ModelA.updateAll({_id: yourId}, data);
或者使用setId,然后保存:
var modelInstance = new ModelA(data);
modelInstance.setId(yourId);
modelInstance.save();
在您的示例中,它没有更新数据的原因是没有传递给模型构造函数的id,您应该传递该id或使用setId。您使用的是什么版本的环回?@farid nouri neshat:loopback 3什么是
用户提供者
?@FaridNouriNeshat的答案是正确的。另外,您没有将\u id
字段放在模型实例中。您刚刚在新ModelA({userId:user.id,providers:['111111111111','222222'],countByType:userProviderData.countByType})行中执行了userId
代码>,我没有看到字段idi已经有文档存在于我的模型中。那么有没有必要创建一个新的。。如何在现有模型实例中保存数据您可以告诉我如何在不创建新实例的情况下保存模型..以及如何传递现有模型实例id。。setId用于persistedModelnot,用于基类模型