mongoDB ドキュメント(レコード)のプロパティを削除する

mongoDBで、ドキュメント(レコード)のプロパティを削除する手順を記述してます。mongoDB6では「update」は非推奨になっているため「updateOne」を使用して削除します。mongoDB5での手順は後述してあります。
環境
- OS CentOS Stream release 9
- MongoDB 6.0.2
手順
ドキュメント(レコード)のプロパティを削除するには、
「db.コレクション名.updateOne()」で「$unset」を使用します。
db.コレクション名.updateOne({ 条件 }, { $unset:{ プロパティ })
実際に、以下の「foo」というコレクション(テーブル)のドキュメント(レコード)のプロパティを削除してみます。
> db.foo.find()
{ "_id" : ObjectId("61ad8a5a6b99b585a9389a04"), "name" : "itiro", "age" : 10, "gender" : "m" }
{ "_id" : ObjectId("61ad8a666b99b585a9389a05"), "name" : "jiro", "age" : 20, "gender" : "m" }
{ "_id" : ObjectId("61ad8a746b99b585a9389a06"), "name" : "saburo", "age" : 30, "gender" : "m" }
プロパティ「name」が「jiro」のものの「age」を削除します。
> db.foo.updateOne( { name:'jiro' }, { $unset:{ age: "" } } )
{
acknowledged: true,
insertedId: null,
matchedCount: 1,
modifiedCount: 1,
upsertedCount: 0
}
削除されていることが確認できます。
> db.foo.find()
[
{
_id: ObjectId("6364887206a29c57f191d1ae"),
name: 'itiro',
age: 10,
gender: 'm'
},
{
_id: ObjectId("6364887206a29c57f191d1af"),
name: 'jiro',
gender: 'm'
},
{
_id: ObjectId("6364887206a29c57f191d1b0"),
name: 'saburo',
age: 30,
gender: 'm'
}
]
MongoDB5
環境
- OS Ubuntu 20.04
- MongoDB 5.0.4
MongoDB5は、「db.コレクション名.update()」で「$unset」を使用します。
db.コレクション名.update({ 条件 }, { $unset:{ プロパティ })
同様に以下のコレクションから削除してみます。
> db.foo.find()
{ "_id" : ObjectId("61ad8a5a6b99b585a9389a04"), "name" : "itiro", "age" : 10, "gender" : "m" }
{ "_id" : ObjectId("61ad8a666b99b585a9389a05"), "name" : "jiro", "age" : 20, "gender" : "m" }
{ "_id" : ObjectId("61ad8a746b99b585a9389a06"), "name" : "saburo", "age" : 30, "gender" : "m" }
プロパティ「name」が「jiro」のものの「age」を削除します。
> db.foo.update( { name:'jiro' }, { $unset:{ age: "" } } )
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
削除されていることが確認できます。
> db.foo.find()
{ "_id" : ObjectId("61ad93886b99b585a9389a07"), "name" : "itiro", "age" : 10, "gender" : "m" }
{ "_id" : ObjectId("61ad93946b99b585a9389a08"), "name" : "jiro", "gender" : "m" }
{ "_id" : ObjectId("61ad9ea6dc806f9b4c1ddb81"), "name" : "saburo", "age" : "30", "gemder" : "m" }
「MongoDB Compass」から削除
「MongoDB Compass」 から削除する場合は、
対象の「ドキュメント」を選択して「EDIT(鉛筆)」ボタンをクリックします。

「☓」ボタンをクリックします。

後は、「UPDATE」ボタンをクリックします。

プロパティが削除されていることが確認できます。

-
前の記事
Linux コマンドを指定した時間後に実行させる 2022.02.16
-
次の記事
Nuxt.js ライブラリ「vue-diagram-editor」を使用してダイアグラムを作成する 2022.02.16
コメントを書く