Sails.js Modell - einfügen oder aktualisieren von Datensätzen

Schon ausprobieren Sails.js und ich Schreibe eine app, die importiert Daten aus einer Drittanbieter-API und speichert Sie in einer MySQL-Tabelle. Grundsätzlich bin ich versucht zu synchronisieren, die Daten über meine app für weitere Analysen, die Aktualisierung meiner Unterlagen oder erstellen neue Datensätze, wie gebraucht.

Ist, habe ich mich durch Segel' API-und ich sehe, Methoden zu finden, erstellen und aktualisieren Sie Datensätze, aber keine integrierte Methode zum einfügen/aktualisieren von Datensätzen basierend auf der situation. Hab ich was übersehen, oder muss ich diese umsetzen mir?

Wenn ich diese umsetzen mir, kennt jemand ein gutes design pattern für insert/update?

Dies ist, was ich denke, es könnte so Aussehen...

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

Bin ich unter der Leitung in die richtige Richtung, oder gibt es eine elegantere Lösung?

Außerdem bin ich den Umgang mit vielen verschiedenen Modellen in dieser app, was bedeuten würde, Neuerstellung dieser block von code, der auf jedes meiner Modelle. Gibt es eine Möglichkeit, kann ich das erweitern der Basis-Model-Objekts, um diese Funktionalität hinzuzufügen für alle Modelle.

Dank,
John

Schreibe einen Kommentar