2
我是pymongo/mongodb的新手,現在我面臨挑戰。pymongo/mongodb高級查詢
我有以下存儲在mongodb(v 2.04)中的結構。
{
"t": <timestamp>,
"d": {
"uid": <string>,
"action": <string>
}
}
該結構跟蹤用戶操作,並且從原來的複雜度稍微降低。 數據非常龐大,查詢將有一個限制日期範圍以減少結果。
我希望能夠創建一個在特定時間段內做出最多動作的用戶表。
表:
Rank Uid #num actions
1 5 235
2 237 234
3 574 229
到目前爲止,我只比特和查詢件:
query = {"t": {"$lte": end_utc, "$gte": start_utc}}
db.actions.find(query).distinct("d.uid")
這只是生成的唯一的UID的列表。 我怎樣才能查詢(使用pymongo)獲取列表,如:
[
{
"actions": 100,
"uid": 273
},
{
"actions": 99",
"uid": 632
}..n sorted on actions descending
]
謝謝許多。我正在運行2.0.4版本,所以我想我必須使用map reduce。考慮升級到2.1.x,但讀取它的unstable ... – terjeto
@terjeto像2.1這樣的奇數編號的發佈版本是不穩定的開發版本,但2.2.1已經發布並且穩定。那是你想要的。 – JohnnyHK