findOrCreate创建副本
问题描述:
我使用oracle adapter,async.each
和findOrCreate
从Oracle转移一些数据来我的Postgres数据库:findOrCreate创建副本
//simplified version
oracle.select(sql, [], function(err, results) {
async.each(results, function(add_me, async_cb){
model_to_add.findOrCreate(
{not_id_field: add_me.value},
{required_fields: add_me.values}
).exec(function add_me_cb(err, record){
if (record && !err){
async_cb();
}
});
});
})
我的SQL查询not_id_field
返回多,而不是唯一的值。但我希望它在我的postgres数据库中是唯一的。我认为finOrCreate
是伟大的事情使用。但它无法找到记录。
我错了吗?或者可能有我失踪的东西? sails.js
文档不是很有帮助:(
答
原来,这是我的问题 - 我并不真正了解async.each
的工作原理,并且几乎同时为阵列中的每个项目执行。到async.eachSeries
,现在它工作正常。