0
我無法獲得以下MongoDB聚合查詢以返回結果。它只返回一個空數組。我相信這是因爲它沒有正確處理日期範圍。然而,當我做PriceHourly.find({ date: { $lt: end, $gt: start }})
如預期的那樣返回的記錄...
var start = moment.utc('03-02-2012').startOf('day');
var end = moment.utc('03-02-2012').add('days',1).startOf('day');
PriceHourly.aggregate([
{ $match: { date: { $gt: start, $lt: end } } },
{ $group: { _id: null, avgPrice: { $avg: '$price' } } }
], function(err, results){
console.log(err, results);
});
// Model
var PriceHourlySchema = new Schema({
created: {
type: Date,
default: Date.now
},
full_date: {
type: String,
required: true,
trim: true
},
day: {
type: String,
required: true,
trim: true
},
hour: {
type: String,
required: true,
trim: true
},
price: {
type: Number,
required: true
},
date: {
type: Date,
required: true
}
},
{
autoIndex: true
});
你不是已經問這個問題?你刪除它了嗎?如果你確定你的日期範圍是正確的,那麼「價格」可能有問題。一個字符串可能?您沒有在此發佈示例數據,因此我們無法看到它。 –
我根據我找到的最新線索改進了這個問題。我相信問題在於日期格式和$匹配。 – ac360
嗯,你仍然**真的**應該顯示你的**數據**。請編輯您的問題以顯示一些內容。 –