我确定这是一个相当简单的任务,但是目前我无法将其包裹住。我有一组嵌套的forEach循环,并且需要在所有循环完成运行时进行回调。
我愿意使用async.js
这就是我正在使用的:
const scanFiles = function(accounts, cb) {
let dirs = ['pending', 'done', 'failed'];
let jobs = [];
accounts.forEach(function(account) {
dirs.forEach(function(dir) {
fs.readdir(account + '/' + dir, function(err, files) {
files.forEach(function(file) {
//do something
//add file to jobs array
jobs.push(file);
});
});
});
});
//return jobs array once all files have been added
cb(jobs);
}
Run Code Online (Sandbox Code Playgroud) 我的全文搜索查询有问题,我几乎浏览了我能找到的所有论坛和线程,但仍然遇到这个问题。
我正在使用 MySQL 全文布尔模式搜索来返回基于两列(艺术家姓名和曲目标题)的匹配行。用户可以在搜索栏中输入他们想要的任何短语,并且结果应该只是在任一列中包含搜索查询的所有部分的行。
这是我到目前为止的查询,它适用于大多数查询,但对于某些查询,它返回的结果过于松散,我不确定为什么。
SELECT * FROM tracks WHERE MATCH(artist, title) AGAINST('+paul +van +dyk ' IN BOOLEAN MODE)
Run Code Online (Sandbox Code Playgroud)
但是,此查询返回包含 Paul 的行,但不包含“Van”或“Dyk”。同样,我希望查询仅返回包含“艺术家”或“曲目名称”列中所有关键字的行。
提前致谢