【发布时间】:2019-11-20 12:03:59
【问题描述】:
我有一组对象,我想通过 Sequelize 将它们放入 SQL 中,但我遇到了问题。
[
{ owner: false,
id: '2342365',
name: 'awrAPI' },
{ owner: false,
id: '5675689699',
name: 'TgatAPI' },
{ owner: true,
id: '57456767',
name: 'ytasyAPI' }
[
目前我设置它的方式是通过一个简单的 for in。
for( var key in guilds ) {
Guild
.findOrCreate({where: {primid: guilds[key].id}, defaults: {
primid: guilds[key].id,
name: guilds[key].name,
owner: guilds[key].icon
}})
.spread(function(guild, created) {
console.log(guild.get({
plain: true
}))
console.log(created)
})
}
我认为这是错误的,并且想知道是否有更好的方法来循环我的对象并链接 findorcreates。目前它通过第一个对象,但随后不再添加。我一直在研究使用 Bluebird,但我对使用 Promise 不太熟悉。想法?
【问题讨论】:
-
你的“问题”是什么?
-
@DanielB “目前它通过第一个对象,但随后不再添加”。我还认为这不应该是处理它的方法,而且很可能需要使用一些承诺。我只是不确定
-
我想,你的代码抛出'guild is not defined'错误,因为你的传播函数接收到名为
user的第一个参数,然后调用guild未定义实例的函数,他们应该有相同的名字。尝试将传播函数的第一个参数更改为“公会” -
@TilovYrys 实际上这只是一个错字。在我运行的实际代码中,它被命名为 guild。
标签: node.js promise sequelize.js