MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

Mongoose के साथ Mongodb डेटाबेस का क्लोन कैसे बनाएं

मुझे ऐसा करने में कठिनाई हुई, मेरे पास कोई संदर्भ नहीं है।

हालांकि, मैंने अपनी ओर से ऐसा ही किया।

1, मैंने उसी के भीतर एक और संग्रह बनाया है

db: mydb
collections: books, oldbooks

2, चूंकि मैं एक समय में केवल एक डेटाबेस से जुड़ना जानता हूं, इसलिए मैं इस पर कायम हूं:

mongoose.connect(process.env.CONN_STR);

3, आपके मौजूदा संग्रह पर, इस मामले में, पुस्तकों में, हमारे पास यह कोड है:

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, मैंने बैकअप के लिए एक अलग स्कीमा बनाया है ताकि मैं संग्रह का नाम निर्दिष्ट कर सकूं:

    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);

सूचना:हमने बैकअपबुक स्कीमा में संग्रह निर्दिष्ट किया है collection: 'oldbooks' . मौजूदा स्कीमा को बैकअप स्कीमा में दोहराने का विचार है।

5, संग्रह में प्रत्येक प्रविष्टि प्राप्त करें और सहेजें:

 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:बैकअप के रूप में एक अलग संग्रह बनाएँ। संग्रह की प्रत्येक प्रविष्टि को क्वेरी करें और फिर व्यक्तिगत रूप से बैकअप स्कीमा में सहेजें। ध्यान दें, बैकअप स्कीमा में संग्रह का नाम निर्दिष्ट होना चाहिए।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongodb . के लिए गोलांग एमजीओ में एकत्रीकरण

  2. नेवला के साथ Decimal128 से दशमलव निकालें - MongoDB

  3. एक ही क्वेरी में बाहरी और भीतरी एम्बेडेड सरणी दोनों की गणना करें

  4. क्या मोंगोडीबी रिलेशनल डीबी + ल्यूसीन के लिए एक वैध विकल्प है?

  5. जर्नल और नॉन जर्नल मोंगोडब डेटाबेस में क्या अंतर है