redash 上写 mongodb 查询语句 语法
生活随笔
收集整理的這篇文章主要介紹了
redash 上写 mongodb 查询语句 语法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、常用語法關鍵字
1.1、aggregate 聚合函數
語法看下面,基本都在聚合函數里寫
1.2、group 分組
根據下單日期分組,注意分組后字段會只剩下分組字段和統計字段
{"collection": "order", "aggregate": [{"$group": {"_id":{"order_date":"$order_date"},"count":{"$sum":1}} } ] }1.3、match 篩選
篩選出 7天內下單的記錄
{ "collection": "order", "aggregate": [{"$match": {"order_date": {"$gt": {"$humanTime": "7 days ago" }}} } ] }1.4、lookup 連接表
通過 user_name 連接 user 表;
from 后接表名;
localField 后接 本表連接字段 (表 order 的字段)
foreignField 后接 外表連接字段 (表 user 的字段)
as 重命名(連接后會將數據當做一個字段,所以命名一下)
1.5、unwind 展開、管道
一般使用 lookup連接表后 需要繼續操作,因此使用管道對結果集繼續操作;
unwind 后接的 即 上面 as 命名的 字段對象
1.6、addFields 加字段、重命名
由于連接表后字段數據都整合都 bc 中了,可以通過這樣將其取出
{"$addFields": {"user_name": "$bc.user_name"}},1.7、project 最終顯示字段
最后你想要顯示出來的,1顯示 ,0不顯示
{"$project":{"_id":0,"order_no":1,"order_date":1,"user_name":1}}1.8、gt 大于、lt 小于
條件判斷,常做篩選
{"$match":{"order_date":{"$gte": {"$humanTime" :"{{day_start}}"},"$lte": {"$humanTime" :"{{day_end}}"}}}}1.9、humanTime 人類可讀時間
大于7天前的日期,那就是7天內的
{ "collection": "order", "aggregate": [{"$match": {"order_date": {"$gt": {"$humanTime": "7 days ago" }}} } ] }1.10、limit 分頁
查找前 10 個; 另外 skip 可以填過多少個在查
{"collection": "userChargeEvent", "aggregate": [{"$limit":10}] }1.11、sort 排序
name 后接進行排序的字段,
direction 后參數為 1升序 ; -1 降序
注意 json 格式,這上面語法有點頭疼……有問題可以留言交流。
總結
以上是生活随笔為你收集整理的redash 上写 mongodb 查询语句 语法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安科瑞企业微电网能效管理平台推动电网向能
- 下一篇: proe钣金拆图技巧_proe钣金技巧