如何使用Mongoose克隆Mongodb数据库

时间:2019-06-23 17:58:39

标签: node.js mongodb mongoose

是否可以使用Mongoose克隆一个集合或整个Mongodb数据库(我的数据库只有一个集合,所以两个选项都可以)?我看到可以用Mongoose执行原始的Mongo命令。我可以使用什么命令将整个集合或数据库从一个数据库克隆到另一个数据库?

谢谢。

1 个答案:

答案 0 :(得分:0)

我很难做到这一点,我没有任何参考。

但是,这就是我的目的。

1,我在同一范围内创建了另一个收藏集

strace -p "$(pidof foobar)" -s 9999 -e write

2,由于我一次只知道如何连接到一个数据库,所以我坚持这一点:

db: mydb
collections: books, oldbooks

3,在您现有的藏书中,在本例中是书籍,我们有以下代码:

mongoose.connect(process.env.CONN_STR);

4,我为备份创建了一个不同的架构,以便可以指定集合的​​名称:

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

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

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

注意:我们在BackupBook架构 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); 中指定了集合。这个想法是将现有模式复制到备份模式。

5,获取并保存集合中的每个条目:

collection: 'oldbooks'

TLDR:创建一个不同的集合作为备份。查询集合的每个条目,然后分别保存到备份模式。注意,备份架构必须指定集合的​​名称。