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

Nhận tập hợp con mảng trong mongodb bằng cách sử dụng nguồn mảng

Bạn chỉ cần $filter mảng và chỉ giữ lại những tài liệu con có giá trị giá trị là một tập hợp con của mảng đầu vào của bạn. Lưu ý rằng giá trị đây là một mảng phần tử trong đó phần tử là trường được nhúng value .

let fruits = ["apple","banana","coconut"];

db.collection.aggregate([
    { "$project": { 
        "Element": { 
            "$filter": { 
                "input": "$Element", 
                "as": "el", 
                "cond": { 
                    "$setIsSubset": [ [ "$$el.Value" ], fruits ] 
                 }
            }
        }
    }}
])

Bắt đầu từ MongoDB 3.4 *, bạn có thể sử dụng $in toán tử trong $project sân khấu.

db.collection.aggregate([
    { "$project": { 
        "Element": { 
            "$filter": { 
                "input": "$Element", 
                "as": "el", 
                "cond": { 
                    "$in": [ "$$el.Value", fruits ] 
                 }
            }
        }
    }}
])

* Phiên bản MongoDB chưa được phát hành tại thời điểm viết bài này




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Node.js - đợi nhiều lệnh gọi không đồng bộ

  2. Trả về các phần tử mảng bên trong từ nhiều tài liệu ở dạng đã sắp xếp

  3. Lỗi truyền JSON.NET khi tuần tự hóa Mongo ObjectId

  4. Làm cách nào để cập nhật tài liệu Mongo sau khi chèn nó?

  5. GridFS trong Spring Data MongoDB