背景:
在linux下,使用mongo-connector将mongodb的数据传输至es
遇到的问题:
使用如下命令启动mongo-connector
启动后,查看日志,发现提示如下错误:
求解
在linux下,使用mongo-connector将mongodb的数据传输至es
使用如下命令启动mongo-connector
求解
这个错误可能是因为 MongoDB 的版本不同导致的。在一些老版本的 MongoDB 中,IDatabase
接口没有 collection_names()
方法。如果您的 MongoDB 版本比较老,可以尝试在 database_names()
方法后面使用 filter()
方法来获取指定数据库中的所有集合名称,例如:
collections = client['mydatabase'].list_collection_names()
my_collection = client['mydatabase'][list(filter(lambda x: x == 'mycollection', collections))[0]]
将上面的代码中的 mydatabase
和 mycollection
修改为您想要操作的数据库和集合名称即可。注意,如果指定的集合不存在,上面的代码将会引发 IndexError
异常,请确保您的集合名称是正确的。