mongo-connectorを使用して、mongoDB replicaSetのデータをelast2-doc-managerとDoc Managerで同期させています。印刷する方法File "/usr/local/lib/python2.7/dist-packages/mongo_connector/doc_managers/elastic2_doc_manager.py" Line 148
を包む以外/弾性検索エンジンmongo-connector KeyError _id
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 551, in __bootstrap_inner
self.run()
File "/usr/local/lib/python2.7/dist-packages/mongo_connector/util.py", line 85, in wrapped
func(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/mongo_connector/oplog_manager.py", line 261, in run
docman.upsert(doc, ns, timestamp)
File "/usr/local/lib/python2.7/dist-packages/mongo_connector/util.py", line 32, in wrapped
return f(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/mongo_connector/doc_managers/elastic2_doc_manager.py", line 150, in upsert
doc_id = u(doc.pop("_id"))
私が試しを追加しました:私はこの例外を取得するいくつかの時点で
$mongo-connector --auto-commit-interval=5 --verbose -m 127.0.0.1:27017 -t localhost:9200 -d elastic2_doc_manager --namespace-set=db.collection1,db.collection2 --fields=f1,f2,f3
:として
私はMongoのコネクタを実行していますよ例外の場合の問題のある文書
どういうわけか_id
が印刷されたドキュメントにありません。しかし、対話型のcmdから直接mongoに問い合わせると、同じ文書を取り出すことができ、_id
のキーが存在します。
なぜ、mongo-connector/elastic2_doc_manager
には、一部のドキュメントの_id
プロパティが表示されないのかわかりません。