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

MongoDBの第1レベルの配列で$elemMatchを使用するにはどうすればよいですか?


第1レベルの配列では、$elemMatchの代わりに$in演算子を使用できます。構文は次のとおりです

db.yourCollectionName.find({yourFieldName:{$in:["yourValue"]}}).pretty();

まず、ドキュメントを使用してコレクションを作成しましょう

>db.firstLevelArrayDemo.insertOne({"StudentName":"Chris","StudentTechnicalSkills":["Mongo
DB","MySQL","SQL Server"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ca2360f66324ffac2a7dc71")
}
>db.firstLevelArrayDemo.insertOne({"StudentName":"Robert","StudentTechnicalSkills":["C","J
ava","C++"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ca2362766324ffac2a7dc72")
}

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

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

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

{
   "_id" : ObjectId("5ca2360f66324ffac2a7dc71"),
   "StudentName" : "Chris",
   "StudentTechnicalSkills" : [
      "MongoDB",
      "MySQL",
      "SQL Server"
   ]
}
{
   "_id" : ObjectId("5ca2362766324ffac2a7dc72"),
   "StudentName" : "Robert",
   "StudentTechnicalSkills" : [
      "C",
      "Java",
      "C++"
   ]
}

以下は、第1レベルの配列で照合するクエリです

> db.firstLevelArrayDemo.find({StudentTechnicalSkills:{$in:["MongoDB"]}}).pretty();

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

{
   "_id" : ObjectId("5ca2360f66324ffac2a7dc71"),
   "StudentName" : "Chris",
   "StudentTechnicalSkills" : [
      "MongoDB",
      "MySQL",
      "SQL Server"
   ]
}

  1. MongoDBでオブジェクトの配列を検索できますか?

    はい、オブジェクトの配列を検索するには、MongoDBaggregate()で$unwindを使用します。一致させるには、$matchを使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo623.insertOne( ...    { ...       _id:1, ...       details:[ ...          { ...            

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

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