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

Kết hợp với điều kiện trong MongoDB?

Để 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" }