查詢命令
更新時間 2023-08-29 15:14:28
最近更新時間: 2023-08-29 15:14:28
分享文章
本頁介紹了文檔數據庫服務的主要查詢命令。
文檔數據庫服務主要查詢命令有:
- find():最基本的查詢命令,基礎語法是:db.collection.find(query, projection)。
- query:選擇條件,類似于 WHERE 子句。
- projection:可選,使用來projection展示查詢的字段,類似于SQL的SELECT。通過{ field: 1 }這樣的語法可以指定要返回的字段,其中1表示要返回該字段,0表示不返回該字段 。
示例:
//查詢age=20的數據
db.students.find({age: 20})
//查詢age=20的數據,查詢的結果只返回name,不返回_id
db.students.find({age: 20}, {name: 1, _id: 0})
- findOne():查找一條數據,會返回第一條匹配到的數據。語法:
db.collection.findOne(query, projection)
示例:
db.students.findOne({age: 20})
- limit() 和 skip():分頁查詢,limit() 指定數據條數,skip()跳過前幾條:
db.students.find().limit(5)
db.students.find().limit(5).skip(10) // 跳過前10條,返回5條數據
- sort():排序。按照一個字段排序,orderly 參數指定排序方式,-1為降序,1為升序,默認升序:
db.students.find().sort({age:1})
db.students.find().sort({age: -1}) //降序
- count(): 統計結果數量:
db.collection.find(query).count()
也就是說, 文檔數據庫服務查詢主要通過 find() 和查詢條件的組合來實現,在find()中使用limit()、skip()、sort()、count()等方法進行查詢控制。
還有一點需要留意,查詢的結果,返回的是一個Cursor。Cursor使用完畢后要及時關閉,否則會產生內存堆積。