我国企业网站的建设情况,简单美食网站模板免费下载,英文网站建设 潍坊,南宁seo手段方法一#xff1a;使用 aggregate() 搭配 $out#xff08;推荐方式#xff09;
适用于复制到相同数据库内的新集合。
db.source_collection.aggregate([{ $match: {} }, // 可以加筛选条件{ $out: target_collection }
])如果目标集合已存在#xff0c;会被…方法一使用 aggregate() 搭配 $out推荐方式
适用于复制到相同数据库内的新集合。
db.source_collection.aggregate([{ $match: {} }, // 可以加筛选条件{ $out: target_collection }
])
如果目标集合已存在会被覆盖。如果你使用 MongoDB 5.0推荐用 $merge 替代 $out因为 $out 会 drop 再重建。
方法二使用 cloneCollection() 脚本适用于任意数据库
// 脚本方式
db.getCollection(source_collection).find().forEach(function(doc) {db.getCollection(target_collection).insert(doc);
});
可以在 mongo shell 或 JavaScript 驱动里执行。可加筛选条件如 find({ status: active })
方法三通过 mongodump mongorestore适合跨数据库或跨服务器
1. 导出
mongodump -d mydb -c source_collection -o dump/
2. 恢复
mongorestore -d mydb -c target_collection dump/mydb/source_collection.bson
适合数据量大时使用。可跨数据库 / 集群 / 远程主机。
方法四在程序中操作如 Python
from pymongo import MongoClientclient MongoClient()
db client[mydb]source db[source_collection]
target db[target_collection]docs source.find({})
target.insert_many(docs)