mongoDb 學習筆記3

2021-07-04 10:03:19 字數 1479 閱讀 8057

1 固定集合,必須顯示建立

db.mycol2.find().sort() 自然排序,按照磁碟排列順序返回文件

迴圈游標:迴圈游標是一種特殊的游標,當迴圈游標的結果集被取光之後游標不會被關閉,當有新文件插入時,迴圈游標會繼續取到結果,只能用在固定集合

,超過10分鐘沒有結果,迴圈游標會自動關閉。

$autoindexid 設值為false,可以建立沒有_id索引的固定集合

2 ttl索引

time-to-live 可以為集合指定乙個日期欄位為ttl索引,expireaftersecs

db.dol.ensureindex(,)

使用collmod命令修改expireaftersecs的值

db.runcommand()

3 全文本索引

效能比較低下,盡量不使用,乙個集合只能有乙個全文本索引,乙個全文本索引可以包含多個字段

a 開啟 db.admincommand()

b 建立 db.dol.ensureindex()

c 需要顯示使用 db.runcommand()

4地理空間索引

2dsphere(用於地球表面)和2d(用於平面地圖)

5 gridfs

mongofiles --help

mongofiles put fol.txt 上傳

mongofiles list

6 聚合框架

aggregate()

管道符$match db.users.aggregate(})

$project  db.users.aggregate(},})

更改欄位名 db.users.aggregate(},})

數學表示式:$add $subtract $multiply $divide $mod

日期表示式:$year $month $week $dayofmonth $dayofweek $dayofyear $hour $minute $second

字串表示式:$substr $concat $tolower $toupper

邏輯表示式:$cmp =返回0 《返回-1 >返回1

$strcasecmp $eq $ne $gt $gte $lt $lte $and $or $not 

兩個控制語句:$cond $ifnull 

$group }

db.users.aggregate(},}})

db.users.aggregate(}})

db.users.aggregate(}})

db.users.aggregate(}})

db.users.aggregate(}})

db.users.aggregate(}})

$unwind 可以將陣列中的每乙個值拆分為單獨的文件

$sort $limit $skip

聚合命令

db.users.count()

db.users.distinct("name")

MongoDB學習筆記3 查詢

1.基本查詢 構造查詢資料。db.test.findone 多條件查詢。下面的示例等同於sql語句的where name stephen and age 35 db.test.find 返回指定的文件鍵值對。下面的示例將只是返回name和age鍵值對。db.test.find 指定不返回的文件鍵值對...

MongoDB學習筆記(3)引用

嵌入式關係,db.users.findone 注意 以上查詢中 db 和 users 表示資料庫和集合。這種資料結構的缺點是,如果使用者和使用者位址在不斷增加,資料量不斷變大,會影響讀寫效能。引用式關係這種方法需要兩次查詢,第一次查詢使用者位址的物件id objectid 第二次通過查詢的id獲取使...

MongoDB學習筆記

從接觸計算機學習開始,我所使用的資料庫就是mysql,oracle這樣的關係型資料庫。早就聽說了nosql的概念,也對其有代表性的非關係型資料庫mongodb有所耳聞,一直想學習學習這項從未使用過的技術,可是由於種種原因,又沒有時間來學習學習這項新的概念。也就是這麼巧,目前的工作中,使用到的就是mo...