MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

union trên cùng một bộ sưu tập trong mongodb

Toán tử MongoDB gần nhất với những gì bạn đang tìm kiếm là $or , nhưng điều đó không hoàn toàn giống với SQL UNION kết hợp hai truy vấn riêng biệt thành một kết quả duy nhất. Các truy vấn MongoDB luôn chống lại một tập hợp duy nhất, nhưng $or cho phép bạn có nhiều mệnh đề truy vấn.

Ví dụ:

db.collection.find(
    // Find documents matching any of these values
    {$or:[
        {var1: 123},
        {var2: 456},
        {var3: 789}
    ]}
).sort(
    // Sort in ascending order
    {var1:1, var2:1, var3:1}
)

Vì bạn bị giới hạn trong việc truy vấn một tập hợp duy nhất, các kết quả sẽ được loại bỏ trùng lặp ở cấp tài liệu và tất cả các kết quả sẽ chia sẻ cùng một thứ tự sắp xếp nếu một tập hợp được chỉ định.

Nếu bạn muốn mô phỏng một UNION (hoặc hoạt động khác làm việc với nhiều bộ sưu tập / truy vấn) trong MongoDB, bạn sẽ phải viết nhiều truy vấn và hợp nhất các bộ kết quả trong mã ứng dụng của mình.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongodb:không kết nối được với máy chủ trong lần kết nối đầu tiên

  2. Người dùng root MongoDB

  3. Làm cách nào để tạo một kết xuất MongoDB cho cơ sở dữ liệu của tôi?

  4. MongoDb Aggregation:Làm cách nào để tôi có thể nhóm một mảng-1 dựa trên một mảng-2 khác khi cho mảng-1 và mảng-2?

  5. Nhóm theo giá trị và điều kiện