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

Truy vấn nhiều document với điều kiện OR trong MongoDB

Sử dụng toán tử $or để kết hợp nhiều điều kiện

Toán tử $or thực hiện logic OR trên mảng các biểu thức truy vấn. Document khớp nếu ít nhất một điều kiện đúng.

Dữ liệu khách hàng

> db.demo362.insertOne({"ClientName": "John", "ClientProject": "School Management System"});
> db.demo362.insertOne({"ClientName": "David", "ClientProject": "Library Management System"});
> db.demo362.insertOne({"ClientName": "Mike", "ClientProject": "Event Tracker"});
> db.demo362.insertOne({"ClientName": "Carol", "ClientProject": "Hospital Management System"});

Tìm ClientName="John" HOẶC ClientProject="Event Tracker"

> db.demo362.find({
    $or: [
        { "ClientName": "John" },
        { "ClientProject": "Event Tracker" }
    ]
});

Kết quả

{ "_id": ..., "ClientName": "John", "ClientProject": "School Management System" }
{ "_id": ..., "ClientName": "Mike", "ClientProject": "Event Tracker" }

Lưu ý hiệu năng:

  • Mỗi điều kiện trong $or nên có index riêng
  • MongoDB không dùng index compound cho $or (trừ khi dùng $or với hint)
  • Cân nhắc $text search cho tìm kiếm văn bản phức tạp