mongodb游標的使用


1、插入數據

for(var i=0;i<10000;i++){
 db.shop.insert({_id:i+1,name:"shop"+i,age:20+i})
}

2、查看數據數

db.shop.find().count()

3、獲取游標、判斷是否還存在數據

#獲取游標,並存放在mycursor變量中
var mycursor = db.shop.find()
#以json形式打印一條
printjson(mycursor.next())
#查看游標是否到了尾部
printjson(mycursor.hasNext())

4、游標跳過

#skip()--->游標跳到9000位置
var mycursor = db.shop.find().skip(9000)
#limit()--->函數使用,跳過9000條,顯示后面10條
db.shop.find().skip(9000).limit(10)

 5、游標高級操作函數

#創建一個游標
var mycursor = db.shop.find()
#對游標獲取的對象(obj)進行遍歷(forEach)打印(printjson)
mycursor.forEach(function(obj){printjson(obj)})

#查看當前批次剩余的未被迭代的文檔數量
mycursor.objLeftBatch()

#對文檔按age進行降序
語法:sort({filed:1/-1}) ;1,升序,-1降序
db.user.find().sort({age:-1})

#設置游標迭代次數(即每頁顯示的記錄數)
DBQuery.shellBatchSize = 10 #eg:執行db.user.find(),顯示10條數據

#只顯示一條文檔
db.shop.findOne()

#游標的操作函數有以下幾個,可自行操作
hasNext    判斷是否還有更多的文檔                sort    對查詢結果進行排序
next    用來獲取下一條文檔                    objsLeftInBatch    查看當前批次剩余的未被迭代的文檔數量
toArray    將查詢結果放到數組中                addOption    為游標設置輔助選項,修改游標的默認行為
count    獲取結果集中總的文檔數量            hint    為查詢強制使用指定索引
limit    限制結果返回數量                    explain    用於獲取查詢執行過程報告
skip    跳過指定數目的文檔                    snapshot    對查詢結果使用快照

以后有時間再慢慢補充哈!有問題可以留言,一起學習、進步。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM