东营做网站优化多少钱像做网站平台取什么名字好
方法一:使用 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)