Computer >> Máy Tính >  >> Lập trình >> MongoDB

Có thể so khớp khung tổng hợp MongoDB HOẶC không?

Đầu tiên chúng ta hãy tạo một bộ sưu tập với tài liệu. Truy vấn để tạo một bộ sưu tập với một tài liệu như sau -

> 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")
}

Hiển thị tất cả các tài liệu từ một bộ sưu tập với sự trợ giúp của phương thức find (). Truy vấn như sau -

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

Sau đây là kết quả -

{
   "_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
}

Đây là truy vấn để tổng hợp kết hợp khung HOẶC. Chúng tôi đang coi StudentLastName là Smith hoặc Miller -

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

Sau đây là kết quả -

{
   "_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
}