ISODate của MongoDB rất giống với lớp Ngày của javascript. Nếu bạn có phạm vi ngày trong múi giờ Kolkata và muốn lọc theo phạm vi đó, hãy khởi tạo một cặp đối tượng Ngày để xác định phạm vi trước khi chạy tìm kiếm.
Đối với trường hợp này, để trả về tất cả join_date
các giá trị rơi vào tháng 3 năm 2017, được chuyển đổi sang múi giờ Kolkata (UTC-07:00), lọc cho ngày lớn hơn hoặc bằng nửa đêm ngày 1 tháng 3 và dưới nửa đêm ngày 1 tháng 4, sau đó chuyển đổi kết quả bằng thời điểm:
var first = new Date("2017-03-01T00:00:00-07:00");
var last = new Date("2017-04-01T00:00:00-07:00");
db.SBM_USER_DETAIL.find(
{join_date:{$gte: first, $lt: last}}, //filter based on join_date
{join_date:1,_id:0} // only return join_date, omit this if you need all fields
).map(
function(d) {
d.join_date = moment(d.join_date).locale('es').tz("Asia/Kolkata").format();
return d;
}
);