如何解决Mongoengine - 使用多个连接进行迁移
我是 MongoDB 的新手,正在尝试在两者之间迁移数据。 所以我可以连接到 DB A 并查询 - 但我的问题是我如何连接到 B 并从 A -> B 复制内容?我发现了这个
mongoengine connection and multiple databases
但它指出模型特定于每个数据库以使用 meta
标记。
设置两个连接并复制相同的模型,而不是将 A 转储到磁盘并读入 B。我没有对这两个连接的 CLI 访问权限,所以我无法通过管道输入文件(如果这是一个选项,就像使用 SQL) ,因此想到了我在 B 上的 FastAPI
中的触发器以从 A 中拉出。
解决方法
我认为直接将 pymongo
用于此操作可能更容易,因为这样更容易,而且您不需要在 mongoengine 模型中解析文档。
c1 = MongoClient('mongodb://host1:27017/')
c2 = MongoClient('mongodb://host2:27017/')
for doc in c1.firstdabase.somecollection.find():
c2.seconddatabase.somecollection.insert(doc)
上面的代码是一个粗略的解决方案。根据您的数据量,您可能应该寻找批处理:https://pymongo.readthedocs.io/en/stable/examples/bulk.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。