Modelo Sails.js - inserir ou atualizar registros

Estou testando o Sails.js e estou escrevendo um aplicativo que importa dados de uma API de terceiros e salva em uma tabela MySQL. Basicamente, estou tentando sincronizar dados com o meu aplicativo para análises adicionais, atualização de meus registros ou criação de novos registros, conforme necessário.

Examinei a API do Sails e vejo métodos para localizar, criar e atualizar registros, mas nenhum método interno para inserir / atualizar registros com base na situação. Eu negligenciei algo, ou precisarei implementar isso sozinho?

Se eu tiver que implementar isso pessoalmente, alguém conhece um bom padrão de design para inserção / atualização?

É assim que eu acho que pode parecer ...

_.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);
         }
       });
     }
   });
 });

Estou indo na direção certa ou existe uma solução mais elegante?

Além disso, estou lidando com muitos modelos diferentes neste aplicativo, o que significaria recriar esse bloco de código em cada um dos meus modelos. Existe uma maneira de estender o objeto Model base para adicionar essa funcionalidade a todos os modelos.

Obrigado John

questionAnswers(5)

yourAnswerToTheQuestion