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

Tổng hợp MongoDB, cách addToSet từng phần tử của mảng trong đường ống nhóm

Để bắt chước chức năng của toán tử cập nhật $ addToSet với $ mỗi công cụ sửa đổi trong đường dẫn tổng hợp, bạn có thể sử dụng kết hợp $ push ở giai đoạn nhóm và $ Reduce + $ setUnion trên giai đoạn chiếu. Ví dụ:

db.collection.aggregate([
    {$group:{
       _id: null,
       selectedTags: { $push: '$tags' }      
    }},
    {$project: {
        selectedTags: { $reduce: {
            input: "$selectedTags",
            initialValue: [],
            in: {$setUnion : ["$$value", "$$this"]}
        }}
    }}
])

kết quả với một tài liệu duy nhất chứa danh sách các thẻ khác biệt với tất cả các tài liệu trong selectedTags mảng.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongodb - Sự khác biệt giữa chạy cơ sở dữ liệu mongo và mongod

  2. Tính tổng của cột trong MongoDB

  3. $ In khoản của MongoDB có đảm bảo thứ tự không

  4. Trả lại tài liệu cuối cùng từ tra cứu

  5. Khái niệm cơ bản về tự động hóa cơ sở dữ liệu MongoDB bằng Chef