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

Tổng hợp theo cấp độ tháng và cấp độ năm, cũng tìm thấy mức trung bình trong MongoDB

  • $objectToArray chuyển đổi dữ liệu data đối tượng với định dạng khóa-giá trị của mảng
  • $filter để lặp lại vòng lặp của mảng đã chuyển đổi ở trên
  • kiểm tra $and điều kiện
  • $toDate để lấy data từ ngày chuỗi
  • $month để chọn tháng từ ngày và $year để chọn năm
  • $in kiểm tra điều kiện nếu tháng nằm trong mảng tháng và năm nằm trong mảng năm
  • $arrayToObject chuyển đổi trở lại đối tượng từ mảng khóa-giá trị
var years = [2021];
var months = [5];
db.collection.aggregate([
  {
    $project: {
      data: {
        $arrayToObject: {
          $filter: {
            input: { $objectToArray: "$data" },
            cond: {
              $and: [
                { $in: [{ $year: { $toDate: "$$this.k" } }, years] },
                { $in: [{ $month: { $toDate: "$$this.k" } }, months] }
              ]
            }
          }
        }
      }
    }
  }
])

Sân chơi




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Nhập kiểu dữ liệu ngày bằng mongoimport

  2. Tạo TTL có điều kiện trong mongo

  3. MongoDB có thể sử dụng một chỉ mục khi kiểm tra sự tồn tại của một trường có toán tử $ tồn tại không?

  4. Sự cố khi đăng dữ liệu JSON (với yêu cầu nút) lên máy chủ Express để lưu vào MongoDB

  5. NODE.JS:FATAL ERROR- JS Phân bổ không thành công - xử lý hết bộ nhớ trong khi phân tích cú pháp các tệp excel lớn