閱讀360 返回首頁    go 技術社區[雲棲]


pyramid學習筆記x-mongodb基本操作

mongodb是文檔型數據庫,區分大小寫,以下隻介紹基本操作。

插入

db.test.insert({"title":"HUST"})

刪除

db.test.remove()

該命令隻會刪除test數據庫下的文檔數據,不會刪除集合本身,原有索引會保留。要刪除指定檔,remove帶參數。

如果刪除數據很多,使用db.drop_colection會更快。但會連索引一起刪掉。

更新


update有兩個參數,一個查詢,一個修改。


更新的時候要確保文檔_id的唯一性,否則會出錯。更高級的修改還可以用修改器,此處省略。

查詢

查詢返回一個集合中文檔的子集,子集和的範圍從0到整個文檔,

db.test.find()返回test集合中所有內容

db.test.find({"title":"HUST"})通過一個鍵值對查找所有“title”為HUST的文檔(可以用多個鍵值對綜合查找)

如果find帶第二個參數,則可以返回指定的鍵值。如要返回“title”,則title值設為1,不返回設為0,如下所示,默認情況下都返回_id。

更高級的查詢還可使用查詢條件"$lt","$lte","$gt","$gte","$or"等操作符,還有正則表達式,索引等。

聚合

MongoDB(突然發現以前寫的都是Mongodb,不要在意這些細節...)提供了強大的聚合工具,可對集合中的文檔進行統計,複雜的可利用MapReduce做複雜的數據分析。

count

返回集合中文檔數量:db.test.count()

distinct

找出給定鍵的所有不同值,使用時需指定集合和鍵:

group

這個聚合稍微複雜些,用到的時候在說。

MapReduce

MapReduce是一個可以輕鬆並行化到多個服務器的聚合方法。他會拆分問題,再將各個部分發送到不同的機器上,讓每台機器都能完成一部分,當所有機器都完成時,再把結果匯集到一起。目前還用不上如此強大的東西。


最後更新:2017-04-03 16:49:04

  上一篇:go ajax不跳轉頁麵提交表單
  下一篇:go Java麵向對象基礎---名詞概念的理解:方法的重載、構造函數、封裝性