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

Tổng hợp nhiều mảng thành một mảng lớn với MongoDB

Bạn có thể sử dụng $filter $setUnion / $concatArrays toán tử để nối và lọc tài liệu của bạn. Ngoài ra, bạn cần sử dụng $ifNull toán tử để thay thế trường bị thiếu bằng mảng trống.

db.collection.aggregate([
    { "$project": { 
        "web_images": { 
            "$filter": { 
                "input": { 
                    "$setUnion": [ 
                        { "$ifNull": [ "$pictures", [] ] },
                        { "$ifNull": [ "$logos", [] ] }
                    ]
                }, 
                "as": "p", 
                "cond": { "$eq": [ "$$p.web", "true" ] } 
            } 
        } 
    }},
    { "$match": { "web_images.0": { "$exists": true } } }
])



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cơ sở dữ liệu để lựa chọn cho trò chơi

  2. Mongodb concat int và chuỗi

  3. node.js moongodb hai tìm thấy

  4. Kích thước tối đa của bộ sưu tập trong mongodb là bao nhiêu

  5. Cách sử dụng MongoRegex (MongoDB C # Driver)