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

Cách tránh khoảng trống thời gian khi tổng hợp OHLC trong mongoDB

Bạn có thể thêm $cond toán tử để tính các khoảng trống theo sau là $filter để lọc các giá trị mảng trống.

Bạn yêu cầu hai thay đổi.

Thay đổi đầu tiên để lưu trữ các giá trị [] cho khoảng trống thay vì mảng có giá trị rỗng.

Cập nhật biểu thức $ let bên trong thành bên dưới:

{
  "$let":{
    "vars":{"five":...},
    "in":{
      "$cond":[
        {"$eq":["$$five",[]]},
        "$$five",
        [{"$arrayElemAt":[{"$arrayElemAt":["$$five",-1]},0]},
         ....
        {"$arrayElemAt":[{"$arrayElemAt":["$$five",-1]},-1]}]
      ]
    }
  }
}

Thay đổi thứ hai để lọc các giá trị mảng trống khỏi đầu ra.

{
  "$project":{
    "data":{
      "$let":{
        "vars":{"mints":...},
        "in":{"$filter":{"input":{"$map":...},as:"flr", "cond":{"$ne":["$$flr",[]]}}}
      }
    }
  }
}



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. gia tăng findOneAndUpdate thay vì cập nhật trong mongoose

  2. Sử dụng mongo với FLASK và python

  3. Tùy chọn Spring Data-MongoDb cho phương pháp tổng hợp

  4. Quản lý các kết nối Mongodb trong Java dưới dạng Hướng đối tượng

  5. Cách lấy lại tài liệu Gốc sau khi tổng hợp