3
我目前正在學習mongodb,並試圖用聚合查詢查詢測量結果(我知道查詢沒有最大意義,但它是一個簡化版本)。爲什麼聚合集只返回100個結果?
但不知何故查詢總是返回太少的結果。
db.measurements.aggregate([
{
$match: {
measuretime: {
$gte: ISODate('2014-05-25'),
$lt: ISODate('2014-05-26')
},
parameter_id: new ObjectId('54eb38fc70703cd29a8e9ae9')
}
},
{
$group: {
_id: { parameter_id: '$parameter_id' },
values: { $addToSet: '$value' }
}
}
]);
結果看起來是這樣的:
[
{
"_id":{
"parameter_id":"54eb38fc70703cd29a8e9ae9"
},
"values":[
10.15,
10.88,
10.57,
10.13,
10.72,
10.98,
10.84,
10.17,
10.36,
10.03,
10.14,
10.62,
10.46,
10.01,
10.18,
10.64,
10.12,
10.69,
10.33,
10.51,
10.26,
10.21,
10.45,
10.22,
10.43,
10.55,
10.41,
10.27,
10.25,
10.5,
10.06,
10.3,
10.39,
10.8,
10.23,
10.44,
10.99,
10.94,
11,
10.19,
10,
10.71,
10.85,
10.02,
10.59,
10.79,
10.07,
10.77,
10.74,
10.96,
10.31,
10.76,
10.1,
10.32,
10.65,
10.58,
10.49,
10.47,
10.48,
10.24,
10.52,
10.61,
10.83,
10.73,
10.28,
10.56,
10.11,
10.7,
10.97,
10.82,
10.91,
10.66,
10.93,
10.2,
10.9,
10.89,
10.4,
10.05,
10.95,
10.16,
10.78,
10.67,
10.08,
10.68,
10.81,
10.04,
10.09,
10.54,
10.87,
10.92,
10.63,
10.75,
10.35,
10.86,
10.6,
10.37,
10.53,
10.29,
10.38,
10.42,
10.34
]
}
]
這很好,除了只有100的結果值,但count
檢查時,它表明,應該有更多的(也是100看起來不像一個任意數字)。
db.measurements.count({
measuretime: {
$gte: ISODate('2014-05-25'),
$lt: ISODate('2014-05-26')
},
parameter_id: ObjectId('54eb38fc70703cd29a8e9ae9')
});
返回:17286
那麼,有一些配置獲得超過100個結果?或者查詢完全錯誤?
謝謝!解決了它! – Staeff 2015-02-24 15:40:01
很高興幫助! – 2015-02-24 15:41:03