コレクション内にはたくさんの文書があります。それは次のように コレクション内の文書のそれぞれの構造は次のとおりです。マルチはpymongoを使ってコレクションの文書に沿ってキーを更新します
{
"_id" : ObjectId(....),
"valor" : {
"AB" : {
"X" : 0.0,
"Y" : 142.6,
},
"FJ" : {
"X" : 0.2,
"Y" : 3.33
....
コレクションは現在、約200の文書を持っていると私はvalor
内部の鍵の一つは、間違った名前を持っていることに気づきました。この場合、コレクションのすべての文書で「FJ」は「JOF」となります。
イムかなり確信して、pymongoのupdate
機能を使用して、すべてのドキュメントでキーを変更することが可能です。私が直面している問題は、利用可能なオンラインドキュメントにアクセスしたときに、https://docs.mongodb.com/v3.0/reference/method/db.collection.update/は値を変更する方法(現在の状態を維持し、キーのみを変更したい)を説明することだけです。
これは私が試したものです:
def multi_update(spec_key,key_updte):
rdo=col.update((valor.spec_key),{"$set":(valor.key_updte)},multi=True)
return rdo
print(multi_update('FJ','JOF'))
しかし、出力name 'valor' is not defined
。私はどのように私だけのコレクションのドキュメントに沿ってキーを更新することができ、対応するJSONに
にアクセスするためにvalor.specific_keyを使用しなければならないと思いましたか?