因为mvalodb3 +已经弃用了eval()和copyTo()。我正在寻找一种方法来使用像
这样的东西来收集资产db.collection.find()。的forEach(函数(d){db.collection_backup.save(d)})
我基本上都在寻求这两方面的帮助。
1:如何使用PyMongo在Mongo上运行任何.js文件。例: mongo< something.js和js文件可以有一些特定的命令或函数。 2:如何运行上面的代码来对100多个集合进行备份'使用pymongo的数据库
提前感谢您的帮助。
答案 0 :(得分:0)
PyMongo 不包含在服务器上执行.js文件的功能。
带$ out的聚合管道是复制集合的有效方法。如果要备份“角色”集合,例如,在每个数据库中:
from pymongo import MongoClient
client = MongoClient()
for db_name in client.database_names():
db = client[db_name]
if 'role' in db.collection_names():
print('copy %s.role' % db_name)
db.role.aggregate([{'$match': {}}, {'$out': 'role_backup'}])