merge-statics.js 945 B

123456789101112131415161718192021222324252627282930313233
  1. // mongorestore --port 62701 -u coloring -p coloring123. --authenticationDatabase=admin --db coloring_ol total_done_rates.bson --drop
  2. const models = require('../models')
  3. // 初始化art表的areaCountFloor字段, 以及total_done_rate 统计相关的几个字段
  4. async function mergeStatics() {
  5. console.time('mergeStatics');
  6. let docs = await models.Art.find();
  7. console.log(`total: ${docs.length}`);
  8. for (let doc of docs) {
  9. console.log(`process art: ${doc._id}`);
  10. let totalDoneRateDoc = await models.TotalDoneRate.findById(doc._id);
  11. if (totalDoneRateDoc) {
  12. doc.totalStartCount = totalDoneRateDoc.totalStartCount;
  13. doc.totalDoneCount = totalDoneRateDoc.totalDoneCount;
  14. doc.completionRate = totalDoneRateDoc.completionRate;
  15. }
  16. await doc.save();
  17. }
  18. console.timeEnd('mergeStatics');
  19. }
  20. mergeStatics()
  21. .then(console.log)
  22. .catch(console.error)
  23. .finally(() => require('process').exit());