MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Cara mengkloning database Mongodb dengan Mongoose

Saya kesulitan melakukan ini. Saya tidak punya referensi.

Namun, inilah yang saya lakukan pada akhirnya.

1, saya membuat koleksi lain dalam yang sama

db: mydb
collections: books, oldbooks

2, Karena saya hanya tahu cara menghubungkan ke satu database pada satu waktu, saya tetap berpegang pada ini:

mongoose.connect(process.env.CONN_STR);

3, Pada koleksi Anda yang ada, dalam hal ini, buku, kami memiliki kode ini:

var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var ObjectId = Schema.ObjectId;

var BookSchema = new Schema({
  name: String
})

module.exports = mongoose.model('Book', BookSchema);

4, saya membuat Skema yang berbeda untuk cadangan sehingga saya dapat menentukan nama koleksi:

    var mongoose = require('mongoose');
    var Schema = mongoose.Schema;
    var ObjectId = Schema.ObjectId;

    var BackupSchema = new Schema({
      name: String
    }, {
      collection: 'oldbooks'
    })

    module.exports = mongoose.model('BackupBook', BackupBookSchema);

PEMBERITAHUAN:bahwa kami menetapkan koleksi di Skema BackupBook collection: 'oldbooks' . Idenya adalah untuk mereplikasi skema yang ada ke skema cadangan.

5, Ambil dan simpan setiap entri dalam koleksi:

 Book.find()
    .exec((err, books) => {
      if(err) throw err
      else {
        books.forEach( (book) => {
          var backup = new BackupBook();

          backup._id = book._id;
          backup.name = book.name;

          backup.save((err, backup) => {
          })
        })
      }
    })

TLDR:Buat koleksi berbeda sebagai cadangan. Kueri setiap entri koleksi lalu simpan ke Skema cadangan satu per satu. Catatan, skema pencadangan harus menentukan nama koleksi.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Spring Boot menyiapkan repositori MongoDB

  2. pembaruan mongodb tidak muncul kecuali saya me-restart server node

  3. Mengurutkan mongodb berdasarkan algoritme peringkat reddit

  4. MongoDB pilih di mana dalam array _id?

  5. nama bidang batchSize diabaikan dalam Proyeksi Bidang