Để nối với điều kiện trong MongoDB, hãy sử dụng $ cond và trong đó, làm việc với $ concat. Hãy để chúng tôi tạo một bộ sưu tập với các tài liệu -
> db.demo745.insertOne({Value1:"100",Value2:"100"}); { "acknowledged" : true, "insertedId" : ObjectId("5eae6419a930c785c834e554") } > db.demo745.insertOne({Value1:"40",Value2:"50"}); { "acknowledged" : true, "insertedId" : ObjectId("5eae6421a930c785c834e555") } > db.demo745.insertOne({Value1:"13",Value2:"45"}); { "acknowledged" : true, "insertedId" : ObjectId("5eae6429a930c785c834e556") }
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 () -
> db.demo745.find();
Điều này sẽ tạo ra kết quả sau -
{ "_id" : ObjectId("5eae6419a930c785c834e554"), "Value1" : "100", "Value2" : "100" } { "_id" : ObjectId("5eae6421a930c785c834e555"), "Value1" : "40", "Value2" : "50" } { "_id" : ObjectId("5eae6429a930c785c834e556"), "Value1" : "13", "Value2" : "45" }
Tiếp theo là truy vấn để nối với điều kiện -
> db.demo745.aggregate( ... [ ... { "$redact": { ... "$cond": [ ... { "$eq": [ ... { "$concat": [ "$Value1","$Value2" ] }, ... "1345" ... ]}, ... "$$KEEP", ... "$$PRUNE" ... ] ... }} ... ] ... )
Điều này sẽ tạo ra kết quả sau -
{ "_id" : ObjectId("5eae6429a930c785c834e556"), "Value1" : "13", "Value2" : "45" }