在 Waterline 中获取插入的记录

Get inserted record in Waterline

如何获取Waterline中插入的记录?

注:我用的是sails.js

我的代码:

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

record总是undefined但是它被插入到数据库中,我想return插入后json中插入的记录给客户端。 (res.json({'message':jsonx(record)});).

谢谢

记录将是未定义的,因为您可能在回调完成之前使用该值。您需要引用 _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});
        });

为了将来参考,如果您希望它完成查询然后将数据传递给回调,您也可以链接 .then() 而不是 .exec()。

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