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

MongoDBクエリとまったく同じ配列エントリを持つドキュメントを見つける方法は?


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

>db.findDocumentExactlySameInArrayDemo.insertOne({"TechnicalSubjects":["C++","Java","MongoDB"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd69a5f57806ebf1256f12e")
}
>db.findDocumentExactlySameInArrayDemo.insertOne({"TechnicalSubjects":["MySQL","Java","MongoDB"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd69ac057806ebf1256f12f")
}
>db.findDocumentExactlySameInArrayDemo.insertOne({"TechnicalSubjects":["C#","Python","MongoDB"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd69ad457806ebf1256f130")
}
>db.findDocumentExactlySameInArrayDemo.insertOne({"TechnicalSubjects":["MySQL","C","MongoDB"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd69adf57806ebf1256f131")
}

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

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

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

{
   "_id" : ObjectId("5cd69a5f57806ebf1256f12e"),
   "TechnicalSubjects" : [
      "C++",
      "Java",
      "MongoDB"
   ]
}
{
   "_id" : ObjectId("5cd69ac057806ebf1256f12f"),
   "TechnicalSubjects" : [
      "MySQL",
      "Java",
      "MongoDB"
   ]
}
{
   "_id" : ObjectId("5cd69ad457806ebf1256f130"),
   "TechnicalSubjects" : [
      "C#",
      "Python",
      "MongoDB"
   ]
}
{
   "_id" : ObjectId("5cd69adf57806ebf1256f131"),
   "TechnicalSubjects" : [
      "MySQL",
      "C",
      "MongoDB"
   ]
}

以下は、クエリとまったく同じ配列エントリを持つドキュメントを検索するためのクエリです-

> db.findDocumentExactlySameInArrayDemo.find({"TechnicalSubjects": { "$all": ["MySQL","Java","MongoDB"] }});

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

{ "_id" : ObjectId("5cd69ac057806ebf1256f12f"), "TechnicalSubjects" : [ "MySQL", "Java", "MongoDB" ] }

  1. 特定のFirstNameとLastNameを持つドキュメントを検索するためのMongoDBクエリ

    特定のFirstNameとLastNameを持つドキュメントを検索するには、$andを$inとともに使用します。これをMongoDBfind()に実装します。ドキュメントを使用してコレクションを作成しましょう- > db.demo692.insertOne({FirstName:"Chris","LastName":"Brown"}); {    "acknowledged" : true,    "insertedId" : ObjectId(&q

  2. MongoDBで1つのクエリで多くのドキュメントを更新するにはどうすればよいですか?

    1つのクエリで多くのドキュメントを更新するには、MongoDBでbulkWrite()を使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo760.insertOne({id:1,details:{Value1:100,Value2:50}}); {    "acknowledged" : true,    "insertedId" : ObjectId("5eb0309f5637cd592b2a4aee") } > db.demo760.insert