2016-07-09 24 views
1

Wie bekomme ich den eingefügten Datensatz in Waterline?Get eingefügt Datensatz in Waterline

Hinweis: Ich bin mit sails.js

Mein Code:

  record=MyModel.create({ 
       ... 
      }).exec(function createdFile(err, _record){ 
       ... 
       return _record; 
      }); 

record ist immer undefined aber es ist in der DB eingesetzt ist, möchte ich den eingefügten Datensatz zurückzukehren in json an den Kunden nach dem Einfügen. (res.json({'message':jsonx(record)});).

Dank

Antwort

1

Nehmen Sie, wie Sie wahrscheinlich Abschluss mit dem Wert vor dem Rückruf ist nicht definiert werden. Sie müssen auf _record verweisen, da dies der erstellte Datensatz innerhalb des Rückrufs nach dem Erstellen ist. Sie müssen innen einnisten, um den zurückgegebenen Datensatz zu verwenden, z. do res.view('page',{message: _record});

Beispiel Nutzung: https://github.com/balderdashy/sails-docs/blob/master/reference/waterline/models/create.md

record=MyModel.create({ 

     }).exec(function createdFile(err, _record){ 

      return res.json({message: _record}); 
     }); 
+0

, dass es dank ist !! – user3426711

1

Für die Zukunft können Sie auch die Kette .then() anstelle von .exec(), wenn Sie es möchten, übergeben Sie die Abfrage beenden dann die Daten durch der Rückruf

var record = MyModel.create({ 
 
    }).then(function(err, _record){ 
 
      return res.json({message: _record}); 
 
    });

+0

Danke für den Hinweis! Genial :) – user3426711