MongoDB
 Computer >> コンピューター >  >> プログラミング >> MongoDB

MongoDB配列からnull要素を削除しますか?


これには$pull演算子を使用できます。まず、ドキュメントを使用してコレクションを作成しましょう-

> db.removeNullDemo.insertOne(
... {
...    "_id" : 1,
...    "StudentDetails" : [
...       {
...          "FirstName": "John",
...          "LastName":"Smith",
...
...       },
...       {
...          "Age":21
...       },
...       null
...
...    ]
... }
... );
{ "acknowledged" : true, "insertedId" : 1 }
> db.removeNullDemo.insertOne(
... {
...    "_id" : 2,
...    "StudentDetails" : [
...       {
...          "FirstName": "Carol",
...          "LastName":"Taylor",
...
...       },
...       {
...          "Age":23
...       }
...
...
...    ]
... }
... );
{ "acknowledged" : true, "insertedId" : 2 }

以下は、find()メソッドを使用してコレクションからすべてのドキュメントを表示するためのクエリです-

> db.removeNullDemo.find().pretty();

これにより、次の出力が生成されます-

{
   "_id" : 1,
   "StudentDetails" : [
      {
         "FirstName" : "John",
         "LastName" : "Smith"
      },
      {
         "Age" : 21
      },
      null
   ]
}
{
   "_id" : 2,
   "StudentDetails" : [
      {
         "FirstName" : "Carol",
         "LastName" : "Taylor"
      },
      {
         "Age" : 23
      }
   ]
}

以下は、MongoDB配列からnull要素を削除するためのクエリです-

> db.removeNullDemo.update({_id:1},{$pull:{StudentDetails:null}});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

nullが削除されたかどうかを確認しましょう-

> db.removeNullDemo.find().pretty();

これにより、次の出力が生成されます-

{
   "_id" : 1,
   "StudentDetails" : [
      {
         "FirstName" : "John",
         "LastName" : "Smith"
      },
      {
         "Age" : 21
      }
   ]
}
{
   "_id" : 2,
   "StudentDetails" : [
      {
         "FirstName" : "Carol",
         "LastName" : "Taylor"
      },
      {
         "Age" : 23
      }
   ]
}

  1. MongoDB配列の要素を削除するにはどうすればよいですか?

    要素を削除するには、MongoDBで$ pullを更新して、使用します。 $ pull演算子は、既存の配列から、指定された条件に一致する1つまたは複数の値のすべてのインスタンスを削除します。 まず、ドキュメントを使用してコレクションを作成しましょう- db.demo541.insertOne({"software":{"services":["gmail","facebook","yahoo"]}});{    "acknowledged" : true

  2. コレクションから配列全体を削除するMongoDBクエリ?

    コレクションから配列全体を削除するには、MongoDBで$unsetを使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo609.insertOne({"ListOfSubject":["MySQL","MongoDB"]});{    "acknowledged" : true, "insertedId" : ObjectId("5e974695f57d0dc0b182d62c") } > db.demo609