我有mongo db调用test,在这个db中有两个集合collection1和collection1_backup.如何用来替换collection1数据的内容collection1_backup.
Sam*_*aye 42
完成此操作的最佳方式(考虑到集合的名称结尾_backup)可能是使用了mongorestore:http://docs.mongodb.org/manual/reference/mongorestore/
但在这种情况下,它取决于.如果集合未加密,您可以使用renameCollection(http://docs.mongodb.org/manual/reference/command/renameCollection/)或者您可以使用更加手动的方法(在JavaScript代码中):
db.collection1.drop(); // Drop entire other collection
db.collection1_backup.find().forEach(function(doc){
db.collection1.insert(doc); // start to replace
});
Run Code Online (Sandbox Code Playgroud)
这些是最常用的方法.
也有用:将集合导出到 json 文件
mongoexport --collection collection1_backup --out collection1.json
Run Code Online (Sandbox Code Playgroud)
从json文件导入集合
mongoimport --db test --collection collection1 --file collection1.json
Run Code Online (Sandbox Code Playgroud)
从备份/转储文件中导入单个集合需要将 *.bson 文件转换为 *.json 使用
bsondump collection1_backup.bson > collection1_backup.json
Run Code Online (Sandbox Code Playgroud)
小智 5
这可以使用简单的命令来完成:
db.collection1_backup.aggregate([ { $match: {} }, { $out: "collection1" } ])
Run Code Online (Sandbox Code Playgroud)
此命令将删除 collection1 的所有文档,然后在 collection1 中创建 collection1_backup 的克隆。
通用命令将是
db.<SOURCE_COLLECTION>.aggregate([ { $match: {} }, { $out: "<TARGET_COLLECTION>" } ])
Run Code Online (Sandbox Code Playgroud)
如果 TARGET_COLLECTION 不存在,上面的命令将创建它。
| 归档时间: |
|
| 查看次数: |
46572 次 |
| 最近记录: |