mongo查詢資料的一些方法

2021-08-15 05:33:36 字數 2528 閱讀 8729

crud

mongo資料庫至上而下是:database–>collections–>documents。我在這裡分別理解成資料庫、集合、記錄。

這裡直接用官方給的資料來操作。假設以下資料放在了fruits集合中。

, "qty": 5

, "score": [-1, 3], "links": }

, "score": [5, 5] }

json資料的巢狀查詢,就是說,如果有欄位包含json,可以直接用.進行連線。

查詢qty中的ordered為12的字段

db.fruits.find()
多重篩選,同時滿足多個要求的記錄

第乙個大括號內容表示篩選條件,第二個大括號表示顯示內容

篩選條件就不說明了,第二個大括號表示列印_id欄位和score字段,不列印其他字段,

db.fruits.find(, )
下面至上而下分別表示,在fruits集合中查詢字段qty與4的大小關係所有記錄。

db.fruits.find()              # 等於

db.fruits.find(}) # 大於

db.fruits.find(}) # 小於

db.fruits.find(}) # 大於等於

db.fruits.find(}) # 小於等於

db.fruits.find(}) # 不等於

當然,也可以兩個比較符一起操作,比如下面這樣。

db.fruits.find(})  # 大於3小於5。
如果對score這個字段使用比較,比如下面這樣。

db.fruits.find(})  # 大於3小於5。
將會返回下面兩條記錄。理由是,欄位裡的陣列裡有含有大於2小於5的數字。

/* 1 */

]}/* 2 */

$in

查詢_id欄位中包含5或者objectid("507c35dd8fada716c89d0013")的記錄

db.fruits.find(})
$elemmatch

用於欄位中含有陣列,且陣列中含有json資料的的查詢。

查詢links這個含有陣列的字段,找出陣列中uin等於124的記錄

db.fruits.find(}})
$slice

切片,只列印欄位中陣列前n個資料

篩選出記錄之後,只列印記錄score欄位的前1條資料

db.fruits.find(, })
輸出如下

/* 1 */

$regex

使用正規表示式,更多操作請檢視官方文件: $regex

找出_id欄位中所有以a開頭的記錄

db.fruits.find(})
sort——排序

db.fruits.find().sort() # 公升序

db.fruits.find().sort() # 降序

limit——限制

db.fruits.find().limit(3) # 對查詢結果只輸出前3個,可以加在sort後面結合使用
skip——跳過

db.fruits.find().skip(3) # 對查詢結果跳過輸出前3個,即不輸出前3個,可以加在sort後面結合使用
count——計數

db.fruits.find().count()  # 返回查詢結果總數
collation——基於特定語言進行操作

沒有怎麼看懂,我理解的大概意思就是說,執行根據特定語言來進行查詢。感覺用的不多,這裡貼上官方給的例子

db.fruits.find().collation(  )

關於mongo的一些常用命令

最近一直使用的mongodb資料庫,在使用中用到的一些命令做個記錄,方便以後檢視 事務超時設定為 秒 db.admincommand 修改預設記憶體配置 分頁查詢快取超出32m後會報錯使用此命令解決或給字段加索引 db.admincommand 插入db.getcollection user ins...

資料分析的一些方法(一)

本內容包含八個方法 邏輯樹 pest 多維度拆解 對比 假設檢驗 aarrr漏斗模型 rfm模型 杜邦分析方法。將零散的問題結構化,把複雜的問題簡單化。比如要計算北京有多少特斯拉。這個問題可以拆分為北京的汽車數量和北京特斯拉佔比,第乙個問題可以通過網上查詢到,第二個問題可以通過實際在十字路口上觀察,...

資料處理的一些方法

1 保留小數點後兩位 四捨五入alert num.tofixed 2 2 保留小數點後兩位 把後面捨去math.floor 15.7784514000 100 100 輸出結果為 15.77 yuantocent yuan yuantocent 5.55 100 呼叫時需要除以100之後數值才是對應...