2016-09-18 6 views
0

私はMongoDBで働いています。python[pymongo]です。ドキュメントに複数のフィールドの配列を挿入したい。例:コレクションの下の構造では、配列Places Visitedをすべてのドキュメントに挿入したいと考えています。私はそれがMongoの世界で何が呼び出されているのかわかりません。それを挿入することができます。 文書に配列を挿入するにはどうすればよいですか?誰かが助けることができますか?Pymongo:ドキュメントに複数のフィールドの配列を挿入するには?

collectionName 
    { 
      "_id" : "4564345343", 
      "name": "Bunty", 
      "Basic Intro": "A.B.C.D.", 
      "Places Visited": [ 
        "1" : "Palace of Dob", 
        "2" : "Palace of Victoria", 
        "3" : "Sahara Desert" 
      ] 
    } 
    { 
      "_id" : "45657865745", 
      "name": "Humty", 
      "Basic Intro": "B.C.D.", 
      "Places Visited": [ 
        "1" : "Palace of Pakistan", 
        "2" : "Palace of U.S.A." 
        "3" : "White House" 
      ] 
    } 
+0

お客様の文書は無効です。 「訪問場所」の要素のタイプは何ですか? – styvane

答えて

1

これはあなたにそれをあなたのサンプルデータがdocsについてupdateを参照してください詳細については、この

daxaholic$ python3 main.py 
{'name': 'Bunty', 'Basic Intro': 'A.B.C.D.', '_id': '4564345343'} 
{'name': 'Humty', 'Basic Intro': 'B.C.D.', '_id': '45657865745'} 
{'name': 'Bunty', 'Places Visited': ['Palace of Dob', 'Palace of Victoria', 'Sahara Desert'], 'Basic Intro': 'A.B.C.D.', '_id': '4564345343'} 
{'name': 'Humty', 'Places Visited': ['Palace of Dob', 'Palace of Victoria', 'Sahara Desert'], 'Basic Intro': 'B.C.D.', '_id': '45657865745'} 

のような出力が得られなければならないため

import pymongo 

client = pymongo.MongoClient('yourHost', 30000) # adjust to your needs 
db = client.so 
coll = db.yourcollection 

# show initial data 
for doc in coll.find(): 
    print(doc) 

# update data 
places_visited = [ 
    "Palace of Dob", 
    "Palace of Victoria", 
    "Sahara Desert" 
] 
coll.update({}, { "$set": { "Places Visited": places_visited } }, multi=True) 

# show updated data 
for doc in coll.find(): 
    print(doc) 

を行う方法のアイデアを与える必要があります

+0

あなたはこの行を具体化できますか? {{}}空集合{{} '** 2。**' $ set(空集合){{}} '** 3。**'マルチ=真 'であり、最も重要な中カッコの流れです。 – Amar

+0

最初は更新のクエリー部分です。空のdictはすべてのドキュメントを単純に一致させることを意味します。必要に応じて調整することはできますが、あなたの質問にはクエリーの必要性について言及していないので空です。 '$ set'はドキュメント内のフィールドを設定するために使われる演算子です。私はmongoDBの公式文書へのリンクを含むように私の答えを更新しました – DAXaholic

+0

@Amarそれはあなたのために働いたのですか? – DAXaholic

関連する問題