compressHistory.coffee 1.0 KB

1234567891011121314151617181920212223242526272829303132
  1. {db, ObjectId} = require "./app/coffee/mongojs"
  2. ConversionManager = require "./app/coffee/ConversionManager"
  3. async = require "async"
  4. db.docOps.find { }, { doc_id: true }, (error, docs) ->
  5. throw error if error?
  6. jobs = []
  7. for doc in docs
  8. do (doc) ->
  9. jobs.push (callback) ->
  10. doc_id = doc.doc_id.toString()
  11. ConversionManager.convertOldRawUpdates doc_id, (error) ->
  12. return callback(error) if error?
  13. console.log doc_id, "DONE"
  14. db.docHistory.find { doc_id: ObjectId(doc_id) }, (error, docs) ->
  15. return callback(error) if error?
  16. doc = docs[0]
  17. if doc?
  18. for update in doc.docOps
  19. op = update?.op[0]
  20. if op?.i?
  21. console.log doc_id, update.meta.start_ts, update.meta.end_ts, update.meta.user_id, "INSERT", op.p, op.i
  22. else if op?.d?
  23. console.log doc_id, update.meta.start_ts, update.meta.end_ts, update.meta.user_id, "DELETE", op.p, op.d
  24. else
  25. console.log doc_id, "NO HISTORY"
  26. callback()
  27. async.series jobs, (error) ->
  28. throw error if error?
  29. process.exit()