日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

redash 上写 mongodb 查询语句 语法

發布時間:2024/3/26 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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 重命名(連接后會將數據當做一個字段,所以命名一下)

{ "collection": "order", "aggregate": [{"$lookup":{"from":"user","localField":"order_by_user_name","foreignField":"user_name","as":"bc"} } ] }

1.5、unwind 展開、管道

一般使用 lookup連接表后 需要繼續操作,因此使用管道對結果集繼續操作;
unwind 后接的 即 上面 as 命名的 字段對象

{"$unwind":"$bc"},

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 降序

{"$sort": [{"name": "order_date","direction": -1}]}

注意 json 格式,這上面語法有點頭疼……有問題可以留言交流。

總結

以上是生活随笔為你收集整理的redash 上写 mongodb 查询语句 语法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。