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

オブジェクトの配列内で結果を検索し、MongoDBの電子メールアドレスフィールドと一致しますか?


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

>db.demo144.insertOne({"EmployeeDetails":[{"EmployeeName":"Chris","EmployeeEmail":"[email protected]"},{"EmployeeName":"Bob","EmployeeEmail":"[email protected]"}]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e32f1d8fdf09dd6d08539b9")
}
>db.demo144.insertOne({"EmployeeDetails":[{"EmployeeName":"David","EmployeeEmail":"[email protected]"},{"EmployeeName":"Carol","EmployeeEmail":"[email protected]"}]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e32f1f5fdf09dd6d08539ba")
}

find()メソッドを使用してコレクションからすべてのドキュメントを表示する-

> db.demo144.find();

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

{
   "_id" : ObjectId("5e32f1d8fdf09dd6d08539b9"), "EmployeeDetails" : [
      { "EmployeeName" : "Chris", "EmployeeEmail" : "[email protected]" },
      { "EmployeeName" : "Bob", "EmployeeEmail" : "[email protected]" }
   ]
}
{
   "_id" : ObjectId("5e32f1f5fdf09dd6d08539ba"), "EmployeeDetails" : [
      { "EmployeeName" : "David", "EmployeeEmail" : "[email protected]" },
      { "EmployeeName" : "Carol", "EmployeeEmail" : "[email protected]" }
   ] 
}

以下は、オブジェクトの配列内で結果を検索し、電子メールアドレスフィールドに一致するクエリです-

>db.demo144.find({"EmployeeDetails.EmployeeName":"David","EmployeeDetails.EmployeeEmail":"[email protected]"},{"EmployeeDetails.EmployeeName":1});
>

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

{ "_id" : ObjectId("5e32f1f5fdf09dd6d08539ba"), "EmployeeDetails" : [ { "EmployeeName" : "David" }, { "EmployeeName" : "Carol" } ] }

  1. 配列内で一致したオブジェクトの数に基づいてMongoDBでドキュメントを見つけるにはどうすればよいですか?

    例を見て、ドキュメントを使用してコレクションを作成しましょう- > db.demo694.insertOne( ...    { ...       "details" : ...       [ ...          { ...             "Name" : "Chris", ...      

  2. 配列フィールドを含むドキュメントに一致するMongoDBクエリ

    配列フィールドを含むドキュメントを照合するには、$elemMatch演算子を使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo592.insertOne( ...    { ...       "id":101, ...       "details" : [ ...          { "Name" : "Chris", "Value