2016-07-09 6 views
1

Как получить вставленную запись в Waterline?Станок вставлен в Waterline

Примечание: Я использую sails.js

Мой код:

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

record всегда undefined, но она вставляется в БД, я хочу, чтобы вернуть вставленную запись в json клиенту после вставки. (res.json({'message':jsonx(record)});).

Благодаря

ответ

1

Запись будет неопределенные, как вы, вероятно, используют значение до обратного вызова завершения. Вы должны ссылаться на _record, поскольку это созданная запись в обратном вызове после создания. Вам нужно будет вложить внутрь, чтобы использовать возвращенную запись, например. сделать res.view('page',{message: _record});

Пример использования: 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

это ему спасибо !! – user3426711

1

Для дальнейшего использования, вы можете также приковать .then() вместо .exec(), если вы хотите для того, чтобы завершить запрос затем передать данные через к обратный вызов.

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

+0

Спасибо за подсказку! Потрясающие :) – user3426711

Смежные вопросы