【发布时间】:2019-04-09 01:45:25
【问题描述】:
Node 和 Knex 的新手来自 RoR 背景,我需要将特定函数转换为 Node.js
这是我的 RoR 代码:
def self.save!
update_queries = self.fetch.map{|currency, rate|
"UPDATE currency_exchange_rates SET rate='#{rate}' WHERE currency='#{currency}'"
}.join(';')
ActiveRecord::Base.connection.execute(update_queries)
end
到目前为止,这是我在 Nodejs 中所拥有的:
static save(new_rates){
return new Promise(async (resolve, reject) => {
var query = Object.keys(rate).map(key => 'UPDATE currency_exchange_rates SET rate=' + rate[key] + ' WHERE currency = "' + key + '"').join('; ');
})
}
输入数据如下所示:
新价格 =
'UPDATE currency_exchange_rates SET rate=32102793.12 WHERE currency= "IDR";
UPDATE currency_exchange_rates SET rate=0.7822 WHERE currency= "USDGBP";
UPDATE currency_exchange_rates SET rate=3189.756317 WHERE currency= "CAD";
UPDATE currency_exchange_rates SET rate=152.8 WHERE currency= "USDLKR";
UPDATE currency_exchange_rates SET rate=110.818 WHERE currency= "USDJPY";
UPDATE currency_exchange_rates SET rate=1.3103 WHERE currency= "USDAUD"'
我正在使用Knex.js 连接到我的 pg 数据库。如何使用 knex 执行所有这些操作?我可以通过knex.raw() 中的所有查询吗? knex.transaction() 怎么样?它们有什么区别?
提前致谢!
【问题讨论】:
-
你可以使用
bluebirdmapSeries -
哦,谢谢,我会检查一下