如何在waterline / sails js中使用findOrCreate?

时间:2014-12-19 20:52:21

标签: sails.js models waterline

我一直在风帆现场环顾四周,并且通往水线页面。我很好奇如何使用findOrCreateEach方法。具体来说,参数的数量,它将返回什么,以及它将如何使我受益?我一直在寻找,并且将不得不深入研究源代码。我想,在我看的时候,我会问这里。

没有蓝鸟承诺的方法

Model.findOrCreateEach(/* What Goes Here */).exec(/* What Returns Here */);

使用蓝鸟承诺

Model.findOrCreateEach(/* What Goes Here */).then(/* What Returns Here */);

1 个答案:

答案 0 :(得分:3)

findOrCreateEach已被弃用;这就是not in the documentation的原因。复制功能的最佳方法是在异步循环中使用.findOrCreate(),例如使用async.map

// Example: find or create users with certain names
var names = ["scott", "mike", "cody"];
async.map(names, function(name, cb) {
    // If there is a user with the specified name, return it,
    // otherwise create one
    User.findOrCreate({name: name}, {name: name}).exec(cb);
}, 
function done(err, users) {
    if (err) { <handle error and return> }
    <users now contains User instances with the specified names>       
});