mongodb.js 824 B

12345678910111213141516171819202122232425262728
  1. const Metrics = require('@overleaf/metrics')
  2. const config = require('config')
  3. const { MongoClient } = require('mongodb')
  4. const client = new MongoClient(config.mongo.uri)
  5. const db = client.db()
  6. const chunks = db.collection('projectHistoryChunks')
  7. const blobs = db.collection('projectHistoryBlobs')
  8. const globalBlobs = db.collection('projectHistoryGlobalBlobs')
  9. const shardedBlobs = db.collection('projectHistoryShardedBlobs')
  10. // Temporary collection for tracking progress of backed up old blobs (without a hash).
  11. // The initial sync process will be able to skip over these.
  12. // Schema: _id: projectId, blobs: [Binary]
  13. const backedUpBlobs = db.collection('projectHistoryBackedUpBlobs')
  14. Metrics.mongodb.monitor(client)
  15. module.exports = {
  16. client,
  17. db,
  18. chunks,
  19. blobs,
  20. globalBlobs,
  21. shardedBlobs,
  22. backedUpBlobs,
  23. }