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

MongoDB - Tương đương với LEFT JOIN trong đó một bộ sưu tập không tồn tại

Vâng, chỉnh sửa của bạn về cơ bản có câu trả lời. Đơn giản chỉ cần $match trong đó mảng trống:

db.getCollection('collA').aggregate([
    { "$lookup": {
      "from": "collB",
      "localField": "_id",
      "foreignField": "_id",
      "as": "collB"
    }},
   { "$match": { "collB.0": { "$exists": false } } }
])

$exists kiểm tra chỉ số mảng của 0 là cách hiệu quả nhất để hỏi trong một truy vấn "đây có phải là một mảng có các mục trong đó không".



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Tôi có thể sử dụng '$ set' trên tài liệu được nhúng khi sử dụng biến làm tên đã nộp trong MongoDB không?

  2. DeprecationWarning:Nghe các sự kiện trên lớp Db đã không còn được dùng nữa và sẽ bị loại bỏ trong phiên bản chính tiếp theo

  3. Tại sao tôi không thể gỡ lỗi mã trong một phương thức không đồng bộ?

  4. Khu dân cư Mongoose được nhúng

  5. Tính toán khoảng cách sai với MongoDB