MongoDBから空のフィールドを削除する
空のフィールドを削除するには、deleteMany()を使用します。まず、ドキュメントを使用してコレクションを作成しましょう-
> db.removeEmptyFieldsDemo.insertOne({"StudentName":""});
{
"acknowledged" : true,
"insertedId" : ObjectId("5ce92b9578f00858fb12e919")
}
> db.removeEmptyFieldsDemo.insertOne({"StudentName":"Chris"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5ce92b9878f00858fb12e91a")
}
> db.removeEmptyFieldsDemo.insertOne({"StudentName":""});
{
"acknowledged" : true,
"insertedId" : ObjectId("5ce92b9c78f00858fb12e91b")
}
> db.removeEmptyFieldsDemo.insertOne({"StudentName":"Robert"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5ce92ba078f00858fb12e91c")
} 以下は、find()メソッドを使用してコレクションからすべてのドキュメントを表示するためのクエリです-
> db.removeEmptyFieldsDemo.find();
これにより、次の出力が生成されます-
{ "_id" : ObjectId("5ce92b9578f00858fb12e919"), "StudentName" : "" }
{ "_id" : ObjectId("5ce92b9878f00858fb12e91a"), "StudentName" : "Chris" }
{ "_id" : ObjectId("5ce92b9c78f00858fb12e91b"), "StudentName" : "" }
{ "_id" : ObjectId("5ce92ba078f00858fb12e91c"), "StudentName" : "Robert" } 以下は、MongoDBから空のフィールドを削除するためのクエリです-
> db.removeEmptyFieldsDemo.updateMany({"StudentName": ""}, { $unset : {"StudentName" : 1 }});
{ "acknowledged" : true, "matchedCount" : 2, "modifiedCount" : 2 } ドキュメントをもう一度確認しましょう-
> db.removeEmptyFieldsDemo.find();
これにより、次の出力が生成されます-
{ "_id" : ObjectId("5ce92b9578f00858fb12e919") }
{ "_id" : ObjectId("5ce92b9878f00858fb12e91a"), "StudentName" : "Chris" }
{ "_id" : ObjectId("5ce92b9c78f00858fb12e91b") }
{ "_id" : ObjectId("5ce92ba078f00858fb12e91c"), "StudentName" : "Robert" } -
MongoDBから2つのアレイをアンワインドします
巻き戻すには、$unwindを使用します。 $ unwindは、入力ドキュメントから配列フィールドを分解して、各要素のドキュメントを出力します。 ドキュメントを使用してコレクションを作成しましょう- > db.demo515.insertOne( ... { ... "details1": [ ... "4700100004" ... ], ... "details2": [ ...
-
MongoDBの条件に一致する複数のサブドキュメントからフィールドを取得しますか?
複数のサブドキュメントからフィールドを取得するには、$unwindでMongoDB集計を使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo671.insertOne( ... { ... ... "details" : [ ... { ... "id" : "1" ... }, ... { ... Countr