今回は、配列への要素追加とオブジェクトへのフィールド追加を行います。
サンプルデータ
次のようなデータをcol1コレクションに設定します。
[Mongoシェル]
1 | > db.col1.insertOne({name:'高山', |
配列への要素追加
新しいスキル(skill)として”Python”を追加します。
“フィールド名.要素数”とすることで、配列の中の要素を更新することができます。
要素数は0から順番に指定します。
指定する番号の要素に値がある場合はその値を更新し、値がない場合は要素が追加されます。
[Mongoシェル]
1 | > db.col1.updateOne({name:"高山"}, {$set:{"skill.4":"Python"}}) |
新しく要素を追加した結果、未設定の要素ができるとnullが設定されます。(上記の例では”skill”の0から数えて3番目の要素)
オブジェクトへのフィールド追加
childという配列の中の0番目のオブジェクトに、性別を追加します。
“フィールド名.要素数.フィールド名”とすることで、オブジェクトへフィールドを追加することができます。
[Mongoシェル]
1 | > db.col1.updateOne({name:"高山"}, {$set:{"child.0.sex":"女"}}) |
Pythonで操作
上記の更新処理をPythonで行うと、次のようになります。
[ソースコード]
1 | import pymongo |
次回は、フィールド名の変更を行います。