- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
你好,我尝试了以下代码,但我的代码无法正常工作
tags.forEach(function(value) {
var where1 = {};
var attr1 = ['id'];
attr1 = ['id'];
where1['name'] = value;
tagData['name'] = value;
tagModel.getTag(where1, attr1, function(code2,result2){
if(result2.length!=0) {
var quick_start_tagData={'quick_start_id' : result1['id'], 'tag_id' :result2[0]['id']}
quick_start_tagModel.saveData(quick_start_tagData, function(code2,result2){
});
console.log(quick_start_tagData);
} else {
tagModel.saveData(tagData, function(code2,result2) {});
}
});
});
问题是当我将该数据的值检查到表中时,for循环迭代数据数量,如果表具有相同的值,则获取其id并插入,如果不是则添加新记录并获取其id并插入另一个表
但首先 select
查询始终执行,然后 insert
查询在循环中执行
如何解决这个问题
像这样查询执行
执行(默认):
SELECT
id
FROMpxl_tag
ASpxl_tag
WHEREpxl_tag
.name
= 'a1';SELECT
id
FROMpxl_tag
ASpxl_tag
WHEREpxl_tag
.name
= 'a2';SELECT
id
FROMpxl_tag
ASpxl_tag
WHEREpxl_tag
.name
= 'a3';INSERT INTO
pxl_tag
(id
,name
,created_at
,updated_at
) VALUES (DEFAULT,'a3','2018-05-04 04:35:32','2018-05-04 04:35:32');INSERT INTO
pxl_tag
(id
,name
,created_at
,updated_at
) VALUES (DEFAULT,'a3','2018-05-04 04:35:32','2018-05-04 04:35:32');INSERT INTO
pxl_tag
(id
,name
,created_at
,updated_at
) VALUES (DEFAULT,'a3','2018-05-04 04:35:32','2018-05-04 04:35:32');
但我想先一步一步选择
并插入
最佳答案
更新
async.each(tags, function(value, cb) {
var where1 = {};
var attr1 = ['id'];
attr1 = ['id'];
where1['name'] = value;
tagData['name'] = value;
tagModel.getTag(where1, attr1, function(code2, result2) {
if (result2.length != 0) {
var quick_start_tagData = {
'quick_start_id': result1['id'],
'tag_id': result2[0]['id']
}
quick_start_tagModel.saveData(quick_start_tagData, function(code2, result2) {
cb();
});
console.log(quick_start_tagData);
} else {
tagModel.saveData(tagData, function(code2, result2) {
cb();
});
}
});
}, function(err) {
if (err) {
console.log('An error ocurred');
} else {
console.log('Nothing happens');
}
});
关于node.js - 如何在NodeJs中的sequelizer中执行异步查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50153812/
我是一名优秀的程序员,十分优秀!