1. 程式人生 > >MongoDB 總結一:基本語法

MongoDB 總結一:基本語法

//find() 基本條件查詢
db.collection.find();
db.collection.find({'field':'value' });
db.collection.find({'field1':'value1','field2':'value2'});

//find() 控制某個欄位在查詢結果中顯示與否
db.collection.find({},{'field':1});
db.collection.find({},{'field':0});

//find() 大於 小於 大於等於 小於等於 不等於
db.collection.find({'field':{'$gt':'value'}});
db.collection.find({'field':{"$lt":"value"}});
db.collection.find({"field":{"$gte":"value"}};
db.collection.find({"field":{"$lte":"value"}});
db.collection.find({"field":{"$ne":“value”}});


//$all 陣列匹配所有
db.collection.find({"field":{"$all":["value1","value2"]}});

//$exists 判斷欄位是否存在
db.collection.find({"field":{"$exists":true}});

//null 匹配null
db.collection.find({"field":{"$in":[null],"$exists":true}});

//$mod 取模運算 符合取模10等於0
db.collection.find({"field":{"$mod":[10,0]}});

//$in 包含
db.collection.find({"field":{"$in":[v1,v2,v3,...]}});

//$nin 不包含
db.collection.find({"field":{"$nin":[v1,v2,v3,...]}});

//$size 陣列元素的個數
db.collection.find({"arr_field":{"$size":3}});

//正則表示式
db.collection.find("field":/pattern/);
db.collection.find("field":start/);
db.collection.find("field":/end);

//$where
db.collection.find("$where":"this.field > 3")
db.collection.find("$where":"function(){return this.field>3}");
db.collection.find(f);f=function(){return this.field>3};

//count() 查詢記錄條數
db.collection.find().count()
db.collection.find().skip(2).limit(5).count(true);

//limit() 限制返回記錄數
db.collection.find().limit(N);

//skip() 限制返回記錄的起點
db.collection.find().skip(N);

//sort() 排序
/*對於不同型別值的排序遵循以下規則:
最小值<null<數字(整形,長整型,雙精度)<字串<物件/文件<陣列<二進位制資料<物件ID<布林型<日期型<時間戳<正則表示式<最大值*/
db.collection.find().sort({"field1":1,"field2":-1});

// 分頁查詢1
var C //每頁條數
var N //第幾頁
var pageN=db.collection.find().skip((N-1)*C).limit(C).sort();

// 分頁查詢2
var C; //每頁條數
var latest;
//第一頁:
var page1=db.collection.find().sort({"_id":1}).limit(C);
while(page1.haseNext()){
latest=page1.next(); display(latest);
}
var page2=db.collection.find({"_id":{"$gt":latest._id}});
page2.sort({"_id":1}).limit(C);
//... 以此類推獲取pageN

//隨機抽取文件1
var total=db.collection.count();
var random=Math.floor(Math.random()*total);
db.collection.find().skip(random).limit(1);

//隨機抽取文件2 為每一條記錄都新增random欄位,值為隨機數
db.collection.findOne({"random":Math.random()});
db.collection.findOne({"random":{"$gt":Math.random()}});






相關推薦

MongoDB 總結基本語法

//find() 基本條件查詢 db.collection.find(); db.collection.find({'field':'value' }); db.collection.find({'field1':'value1','field2':'value2'});

SQL總結基本查詢

    sql查詢的事情很簡單,但是常常因為簡單的事情而出錯。遇到一些比較複雜的查詢我們更是忘記了sql查詢的基本語法。本文希望通過簡單的總結,把常用的查詢方法予以總結,希望能夠明確在心。 場景:學生資訊系統,包括學生資訊、教師資訊、專業資訊和選課資訊。 --學生資

MongoDB入門基本概念

一.資料庫的分類 目前的資料庫主要分為關係型資料庫和非關係型資料。 關係型資料庫: 通過SQL結構化查詢和儲存語句,最常見的就是Oracle和MySQL 保持資料一致性理論,遵循ACID原理 非關係型資料庫: - Not Only SQL,是對不同於

Python 基礎基本語法字符串---數字----布爾

定義 font 區別 not 多行 word eba als 字符串拼接 數字類型:int(整型)   定義:        查找數據類型:type   >>> a= 2**64   >>>

Python 基礎基本語法字串---數字----布林格式化輸出

現有一練習需求,問使用者的姓名、年齡、工作、愛好 ,然後列印成以下格式 ------------ info of Alex Li ----------- Name : Alex Li Age : 22 job : Teacher Hobbie: girl ------------- end ---

Xml基本語法和約束)、

字符 一行 語言 oca cas 書寫 xsd ati 寫法 XML:eXtensible Markup Language 可擴展標記語言 version="1.0"     * 可擴展:所有的標簽都是自定義的。     * 功能:數據存儲     * 配置文件  

Kotlin VS Java基本語法差異(轉載)

允許 接收 point this view 學習 替換 同時 ons 5月18號,goole宣布Kotlin成為官方支持的開發語言以來,Kotlin語言社區,公眾號,qq群等全面轟炸,本文是一篇譯文,來自國外的一個用戶,將給大家介紹,基礎語法部分Kotlin和java之間的

Shell第三篇基本語法

允許 主體 賦值 算數 export $* lar script userdel 目錄 一、什麽是shell script 二、變量 三、運算符 四、流程控制 五、函數   一、什麽是shell script   將OS命令堆積到可執行文件裏,由上至下的順序執行文本裏的

OC溫習基本數據類型

類型 註意 nsh com unsigned 存儲空間 double類型 編譯 存儲 類型限定修飾詞 除了上圖中基本數據類型之外, 還有一些類型限定修飾詞: short短型:修飾 int double; long長型:修飾 int double; signed 有符號型

使用SLF4J和LOGBACK ( 基本使用)

asi 個人 fig 接口實現 pac 再次 intro 級別 多說 1.SLF4J是什麽? slf4j是一個日誌門面,它不是具體的日誌實現框架,而是提供了通用的日誌接口,按個人理解來說,是通過接口實現多態,來滿足應用在不同日誌框架間切換的需求。 例如在程序中我們需要記錄

Angular總結環境搭建

ets jquery lar 文件 command baidu gitignore 執行 jet 工欲善其事必先利其器,開發 Angular 項目首先要搭建環境。Angular 的環境搭建包括三個方面,開發環境 WebStorm,命令行工具 Angular CLI,以及 n

應用負載均衡之LVS()基本概念和三種模式

保存 訪問 方式 video big key vhdl cisc vid 網站架構中,負載均衡技術是實現網站架構伸縮性的主要手段之一。所謂"伸縮性",是指可以不斷向集群中添加新的服務器來提升性能、緩解不斷增加的並發用戶訪問壓力。通俗地講,就是一頭牛拉不動時,就用兩頭、三

高可用之KeepAlived()基本概念和配置文件分析

leg bold touch event radius chm present ket temp KeepAlived系列文章:http://www.cnblogs.com/f-ck-need-u/p/7576137.html 本文目錄:1. 概述2. VRRP協

Python 入門基本語法

2.7 oop 全路徑 perl 雙引號 one map 基本數據 安裝路徑 對於多數從其他編程語言轉入Python的來說,或多或少會有些不習慣。如果沿用其他編程語言的語法來寫Python代碼,那麽碰壁是不可避免的了。 本文是基於我看了兩個小時的官方文檔(Python 2

python學習筆記()基本概念

單引號 網絡爬蟲 解釋型 g模式 deb 恢復 判斷語句 安裝 bubuko ---恢復內容開始--- 一.python簡介 pyhthon是解釋型語言,python可以用來網絡爬蟲、數據分析、web開發、人工智能、嵌入式、自動化測試、自動化運維等,所有語言中,地方放庫最多

MyBatis總結快速入門

version rac 文件 ctype group esp args select ransac 簡介 MyBatis 是一款優秀的持久層框架,它支持定制化 SQL、存儲過程以及高級映射。MyBatis 避免了幾乎所有的 JDBC 代碼和手動設置參數以及獲取結果集。My

Swift WKWebView()基本使用

一、建立,我們可以在Viewcontroller中使用如下的懶載入的方式建立一個WKWebView 以及一個便於觀察進度的進度條: // wkWebView lazy var wkWebView = WKWebView() // 進度條 lazy var p

js檔案操作總結圖片篇

本篇主要涉及到: 檔案上傳 圖片編輯 圖片檔案下載 一、檔案上傳 檔案上傳目前瞭解的主要有三種方式: type="file"的input輸入框 drop拖放事件; 另有"ctrl+V"進行貼上,但是此方法使用有侷限性,如:不支援windows系統檔案的

Lua程式設計學習筆記() Lua基本語法(1)

Lua基本語法(一) 1.  開始 (1)基本常識 lua中的識別符號可以由任意字母、數字、下劃線構成的字串,但不能以數字開頭。 全域性變數不需要申明,直接賦值即可建立,刪除變數直接賦nil。未申明的變數不會報錯,直接返回nil。 行註釋以“–

MongoDB入門基本概念

一.資料庫的分類 目前的資料庫主要分為關係型資料庫和非關係型資料。 關係型資料庫:        通過SQL結構化查詢和儲存語句,最常見的就是Oracle和MySQL        保持資料一致性