我需要生成每月和每年的報告。那麼,如何獲得具有「創造」領域的明智和明智的文檔。如何獲得具有'createdat'字段的明智和明智的文檔
1
A
回答
1
我建議你使用aggregation framework
你需要項目的所有createdAt
領域進入year
和month
領域如下:
db.collection.aggregate([{
$project: {
year: {
$year: "$createdat"
},
month: {
$month: "$createdat"
},
log_field: 1,
other_field: 1,
}
}, {
$match: {
"year": 2016
}
}]);
更多關於$project
0
細節我知道你可能無法改變你的數據結構,但如果你這樣做,這可能對你有用......
我做得很好在我們的項目中有很多這樣的事情,並且總是發現最好的(如最簡單和最快的)方式是事先將這種信息分開存儲。例如,我存儲完整的日期時間字段(與您一樣),但,然後將YYYYMM值存儲在其自己的字段以及Day中。這些值/格式可能會因數據類型而有所不同,但我已經取得了非常好的成功。
(對於背景下,我存儲的財務數據計算,隨地高達數百萬條記錄,每月,每個客戶.....不是聚合框架已經很好地管理)
的BSON
....
"cd" : ISODate("2016-02-29T22:59:59.999Z"),
"cdym" : "201602",
"cdd" : "29",
....
-1
我得到了答案,這就是答案。
db.mycollection.aggregate([
{ "$redact": {
"$cond": [
{ "$and": [
{ "$eq": [ { "$year": "$date" }, 2016 ] },
{ "$eq": [ { "$month": "$date" }, 5 ] }
] },
"$$KEEP",
"$$PRUNE"
] }
}
])
相關問題
- 1. 如何處理mongo文檔並獲得數組中的字段明智數據
- 2. webix datatable列明智的行明智
- 3. sharepoint文檔庫中的明智權限
- 4. 如何爲明智
- 5. 明智的Windows
- 6. 驗證wx.textCtrl字段的明智值
- 7. 如何在具有datatemplate的ItemsControl中獲得明智的行選項卡順序?
- 8. 全日曆顯示所有員工的任命明智明智
- 9. 如何做明智的累計和?
- 10. 在SQL Server明智獲得總分行
- 11. SQL查詢獲得行明智總計
- 12. MySQL - 明智嗎?
- 13. 如何使用StringBuilder明智
- 14. 如何取月錄明智
- 15. 獲取記錄明智
- 16. 算法讀取一行圖像明智和列明智?
- 17. 規則安排人們年齡明智和性別明智
- 18. 如何獲得與用戶類別明智的價值觀?
- 19. 如何使用數字明智
- 20. CONCAT字符串明智
- 21. 如何獲得Google文檔的說明?
- 22. Django的:獲取日期明智計數DateTimeField字段
- 23. 如何構建明智的數據框架而不是明智的列?
- 24. 得到明智的報告MWS api
- 25. 月明智總和列mysql
- 26. 內容明智而不是頁面明智的PDF比較庫
- 27. concatinating .csv文件列明智
- 28. Mysql查詢兩個表並以明智或明智的方式獲取數據
- 29. 每月存檔帖子類別明智
- 30. 月明智顯示
的輸出是什麼格式,你期待? –
在名爲「orders」的集合中,我有幾個包含6-7個字段的文檔。這些文件中的一個字段是「createdAt」。現在通過給予年份,我應該得到當年的所有文件。以同樣的方式,如果我按月查詢,我應該得到那一年特定月份的所有文件。 - @DeendayalGarg –