updateの$pushをつかって入れ子構造のデータを作りたい
あるフィールドにドキュメント丸ごと突っ込んで入れ子構造にしたい時は
そのフィールドの値を配列型にしておかなければいけないらしい。
例
{'no': 4, 'key':''}というデータに対しては
#Pythonのコード。いろいろ省略 tbl.update({'no': 4}, {'$push': {'key': {'A': 'k_a', 'B': 'k_b'}}})
これを実行しても入らない。
あらかじめこんな感じに作っておかなければいけない。
{'no': 4, 'key':[]}
実行後:
{'no': 4, 'key':[{'A': 'k_a', 'B': 'k_b'}]}
実行後(2回目):
{'no': 4, 'key':[{'A': 'k_a', 'B': 'k_b'}, {'A': 'k_a', 'B': 'k_b'}]}
なるほどなー。