小编Cri*_*ash的帖子

Sails.js模型 - 插入或更新记录

一直在尝试Sails.js,我正在编写一个从第三方API导入数据并保存到MySQL表中的应用程序.基本上我正在尝试将数据同步到我的应用程序以进行进一步分析,更新我的记录或根据需要创建新记录.

我查看了Sails的API,我看到了查找,创建和更新记录的方法,但没有根据情况插入/更新记录的内置方法.我是否忽视了某些事情,或者我是否需要自己实施?

如果我必须自己实现,有没有人知道插入/更新的良好设计模式?

这就是我认为它可能看起来像......

_.each(importedRecords, function(record){
  MyModel.find({id: record.id}).exec(function findCB(err, found){
    if(found.length){
      MyModel.update(record.id, task).exec(function(err, updated){
        if(err) { //returns if an error has occured, ie id doesn't exist.
          console.log(err);
        } else {
          console.log('Updated MyModel record '+updated[0].name);
        }
      });
    }else{
       MyModel.create(record).exec(function(err, created){
         if(err) { //returns if an error has occured, ie invoice_id doesn't exist.
           console.log(err);
         } else {
           console.log('Created client record '+created.name);
         }
       });
     }
   });
 });
Run Code Online (Sandbox Code Playgroud)

我是朝着正确的方向前进,还是有更优雅的解决方案?

此外,我在这个应用程序中处理了很多不同的模型,这意味着在我的每个模型中重新创建这个代码块.有没有办法可以扩展基础Model对象,为所有模型添加此功能.

谢谢,约翰

javascript sails.js

9
推荐指数
3
解决办法
2万
查看次数

标签 统计

javascript ×1

sails.js ×1