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

MongoDB集約フレームワークの一致または可能ですか?


まず、ドキュメントを使用してコレクションを作成しましょう。ドキュメントを使用してコレクションを作成するためのクエリは次のとおりです-

> db.aggregationFrameworkWithOrMatchDemo.insertOne({"StudentFirstName":"John",
   "StudentLastName":"Smith","StudentAge":23});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c8ac3a96cea1f28b7aa080d")
}
> db.aggregationFrameworkWithOrMatchDemo.insertOne({"StudentFirstName":"Carol",
   "StudentLastName":"Tayor","StudentAge":24});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c8ac3bc6cea1f28b7aa080e")
}
> db.aggregationFrameworkWithOrMatchDemo.insertOne({"StudentFirstName":"David",
   "StudentLastName":"Miller","StudentAge":21});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c8ac3ce6cea1f28b7aa080f")
}
> db.aggregationFrameworkWithOrMatchDemo.insertOne({"StudentFirstName":"Bob",
   "StudentLastName":"Taylor","StudentAge":20});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c8ac3e16cea1f28b7aa0810")
}
> db.aggregationFrameworkWithOrMatchDemo.insertOne({"StudentFirstName":"Robert",
   "StudentLastName":"Smith","StudentAge":20});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c8ac3fb6cea1f28b7aa0811")
}
> db.aggregationFrameworkWithOrMatchDemo.insertOne({"StudentFirstName":"Mike",
   "StudentLastName":"Miller","StudentAge":27});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c8ac4166cea1f28b7aa0812")
}

find()メソッドを使用して、コレクションのすべてのドキュメントを表示します。クエリは次のとおりです-

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

以下は出力です-

{
   "_id" : ObjectId("5c8ac3a96cea1f28b7aa080d"),
   "StudentFirstName" : "John",
   "StudentLastName" : "Smith",
   "StudentAge" : 23
}
{
   "_id" : ObjectId("5c8ac3bc6cea1f28b7aa080e"),
   "StudentFirstName" : "Carol",
   "StudentLastName" : "Tayor",
   "StudentAge" : 24
}
{
   "_id" : ObjectId("5c8ac3ce6cea1f28b7aa080f"),
   "StudentFirstName" : "David",
   "StudentLastName" : "Miller",
   "StudentAge" : 21
}
{
   "_id" : ObjectId("5c8ac3e16cea1f28b7aa0810"),
   "StudentFirstName" : "Bob",
   "StudentLastName" : "Taylor",
   "StudentAge" : 20
}
{
   "_id" : ObjectId("5c8ac3fb6cea1f28b7aa0811"),
   "StudentFirstName" : "Robert",
   "StudentLastName" : "Smith",
   "StudentAge" : 20
}
{
   "_id" : ObjectId("5c8ac4166cea1f28b7aa0812"),
   "StudentFirstName" : "Mike",
   "StudentLastName" : "Miller",
   "StudentAge" : 27
}

フレームワーク一致ORを集約するためのクエリは次のとおりです。 StudentLastNameをSmithまたはMillerと見なしています-

> db.aggregationFrameworkWithOrMatchDemo.aggregate({
... $match: { $or: [{ StudentLastName: 'Smith' }, { StudentLastName: 'Miller' }] }}).pretty();

以下は出力です-

{
   "_id" : ObjectId("5c8ac3a96cea1f28b7aa080d"),
   "StudentFirstName" : "John",
   "StudentLastName" : "Smith",
   "StudentAge" : 23
}
{
   "_id" : ObjectId("5c8ac3ce6cea1f28b7aa080f"),
   "StudentFirstName" : "David",
   "StudentLastName" : "Miller",
   "StudentAge" : 21
}
{
   "_id" : ObjectId("5c8ac3fb6cea1f28b7aa0811"),
   "StudentFirstName" : "Robert",
   "StudentLastName" : "Smith",
   "StudentAge" : 20
}
{
   "_id" : ObjectId("5c8ac4166cea1f28b7aa0812"),
   "StudentFirstName" : "Mike",
   "StudentLastName" : "Miller",
   "StudentAge" : 27
}

  1. Aggregationを使用して、MongoDBのすべての値を照合します

    MongoDBのすべての値を一致させるには、Aggregationで$andとともに$matchを使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo574.insertOne( ...    { ...       "details1": { ...          "details2": { ...             "dueDate&q

  2. MongoDBの集約と投影?

    このために、aggregate()と一緒に$projectを使用します。集約された$projectは、要求されたフィールドを持つドキュメントをパイプラインの次のステージに渡します。 ドキュメントを使用してコレクションを作成しましょう- > db.demo762.insertOne({ ...    "_id" : { ...       "userId":101, ...       "userName":"Chris" ...