Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MongoDB

Nối chuỗi có điều kiện (Conditional Concatenation) trong MongoDB

Sử dụng $cond và $concat trong Aggregation

Toán tử $cond cho phép logic if-else. Kết hợp $concat để nối chuỗi khi điều kiện đúng.

Dữ liệu mẫu

> db.demo745.insertMany([
  { Value1: "100", Value2: "100" },
  { Value1: "40", Value2: "50" },
  { Value1: "13", Value2: "45" }
]);

Truy vấn: giữ bản ghi nơi nối Value1+Value2 = "1345"

db.demo745.aggregate([
  {
    $redact: {
      $cond: [
        { $eq: [ { $concat: ["$Value1", "$Value2"] }, "1345" ] },
        "$$KEEP",
        "$$PRUNE"
      ]
    }
  }
]);

Kết quả

{ "_id": ObjectId("5eae6429a930c785c834e556"), "Value1": "13", "Value2": "45" }

Chỉ bản ghi có nối chuỗi "13"+"45" = "1345" được giữ lại ($$KEEP), các bản ghi khác bị loại ($$PRUNE).