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

$ unwind mảng trống

Với phiên bản MongoDB 3.2 và mới hơn, $unwind toán tử hiện có một số tùy chọn, trong đó cụ thể là preserveNullAndEmptyArrays tùy chọn sẽ giải quyết vấn đề này.

Nếu tùy chọn này được đặt thành true và nếu đường dẫn là rỗng, bị thiếu hoặc là một mảng trống, hãy $unwind xuất ra tài liệu. Nếu sai, $unwind không xuất ra tài liệu nếu đường dẫn rỗng, thiếu hoặc một mảng trống. Trong trường hợp của bạn, hãy đặt nó thành true:

db.collection.aggregate([
    { "$unwind": {
            "path": "$solved",
            "preserveNullAndEmptyArrays": true
    } },
    { "$group": {
        "_id": "$_id",
        "login": { "$first": "$login" },
        "solved": { "$sum": "$solved.points" }
    } }
])


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Thiết kế lược đồ MongoDB:Luôn có một lược đồ

  2. Cách tạo API RESTful tốt nhất trong Node.js

  3. Làm cách nào để biết mongoDB đang lưu trữ dữ liệu ở đâu? (nó không có trong mặc định / data / db!)

  4. mongodb php - cách thực hiện truy vấn giống như INNER JOIN

  5. mongodb nodejs - chuyển đổi cấu trúc hình tròn