Better memory usage

This commit is contained in:
syuilo 2017-11-07 19:17:42 +09:00
parent 68cf16882f
commit b2a2f98d6a

View file

@ -42,10 +42,30 @@ const migrateToGridFS = async (doc) => {
return added && result.ok === 1
}
const main = async () => {
const docs = await db.get('drive_files').find()
const all = await Promise.all(docs.map(migrateToGridFS))
return all
async function main() {
let i = 0;
const count = db.get('drive_files').count;
const iterate = async () => {
if (i == count) return true;
const doc = await db.get('drive_files').find({}, { skip: i })
const res = await migrateToGridFS(doc);
if (!res) {
return false;
} else {
i++
return await iterate();
}
}
const res = await iterate();
if (res) {
return 'ok';
} else {
throw 'something happened';
}
}
main().then(console.dir).catch(console.error)