db.collection1.drop(); // Drop entire other collection
db.collection1_backup.find().forEach(function(doc){
db.collection1.insert(doc); // start to replace
});
db.collection1.drop(); // Drop entire other collection
// creates an array which can be accessed from "data"
db.collection1_backup.find().toArray(function(err, data) {
// creates a collection and inserting the array at once
db.collection1.insert(data);
});
9条答案
按热度按时间mnemlml81#
最好的方法(考虑到集合的名称以
_backup
结尾)可能是使用mongorestore:http://docs.mongodb.org/manual/reference/mongorestore/但在这种情况下,它取决于。如果集合是未分片的,你可以使用
renameCollection
(http://docs.mongodb.org/manual/reference/command/renameCollection/),或者你可以使用一个更手动的方法(在JavaScript代码中):这些是最常见的方法。
6rvt4ljy2#
这可以通过这个简单的命令来实现:
此命令将删除
collection1
的所有文档,然后在collection1中创建collection1_backup
的克隆。通用命令将是
如果
TARGET_COLLECTION
不存在,上面的命令将创建它。jfgube3f3#
也有用:将集合导出到json文件
从json文件导入集合
要从备份/转储文件导入单个集合,需要使用将 *.bson文件转换为 *.json
eyh26e7m4#
就这么做
//drop collection1
//将数据从collection1_backup复制到collection 1
wdebmtf25#
使用Java驱动程序
试试下面一个:
lrpiutwd6#
更好的方法是使用
.toArray()
yjghlzjz7#
您可以使用一个简单的命令来备份MongoDB集合。仅适用于MongoDB 4.0及更早版本。
您的targetCollectionName必须使用单引号(')或双引号(“)
注意事项:
copyTo()方法在内部使用eval命令。因此,db.collection.copyTo()操作采用一个全局锁,该锁阻止所有其他读写操作,直到db.collection.copyTo()完成。
holgip5t8#
水滴收集1
然后使用此查询
sirbozc59#
只要运行这个简单的查询.
运行此简单查询,将collection1_backupcollection中的所有数据复制到collection1collection中。