Jeg havde svært ved at gøre dette, jeg har ingen reference.
Det var dog sådan, jeg gjorde på min side.
1, oprettede jeg en anden samling inden for samme
db: mydb
collections: books, oldbooks
2, Da jeg kun ved, hvordan man forbinder til én database ad gangen, holder jeg mig til dette:
mongoose.connect(process.env.CONN_STR);
3, På din eksisterende samling, i dette tilfælde bøger, har vi denne kode:
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, oprettede jeg et andet skema til sikkerhedskopien, så jeg kan angive navnet på samlingen:
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);
BEMÆRK:at vi har specificeret samlingen i BackupBook Schema collection: 'oldbooks'
. Ideen er at replikere det eksisterende skema til backup-skemaet.
5, Hent og gem hver post i samlingen:
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:Opret en anden samling som backup. Forespørg hver post i samlingen og gem derefter i backupskemaet individuelt. Bemærk, backup-skemaet skal angive navnet på samlingen.