MongoDB之遊標
所謂的遊標就是指的資料可以一行一行的進行操作,非常類似與ResultSet資料處理,在MongoDB資料庫裡面,對於遊標的控制非常簡單,只需要使用find()函式就可以返回遊標了。對於返回的遊標,如果要想進行操作,可以使用兩個函式:
● 判斷是否有下一行資料:lastNext();
● 取出當前資料:next()。
> var cursor=db.emp.find();
> cursor.hasNext();
true
> cursor.next();
{
"_id" : ObjectId("599294320184ff511bf02b97"),
"name" : "趙一",
"sex" : "男",
"age" : 30,
"sal" : 1000,
"loc" : "北京"
}
以上是遊標的操作形式,但是實際上不可能這麼去用,因為必須利用迴圈才能夠輸出內容。
範例:編寫具體的操作程式碼
> var cursor=db.emp.find();
> while (cursor.hasNext()){
... var doc=cursor.next();
... print(doc.name);
... }
趙一
錢二
孫三
李四
週五
吳六
鄭七
王八
劉A
劉B
劉C
劉D
劉E
林A
林B
林C
林D
> var cursor=db.emp.find();
> while (cursor.hasNext()){ var doc=cursor.next(); print(doc); }
[object BSON]
[object BSON]
[object BSON]
[object BSON]
[object BSON]
[object BSON]
[object BSON]
[object BSON]
[object BSON]
[object BSON]
[object BSON]
[object BSON]
[object BSON]
[object BSON]
[object BSON]
[object BSON]
[object BSON]
[object BSON]
相當於每一個資料都單獨拿出來逐行的控制。當遊標資料取出來之後,實際上每行資料返回的都是一個Object型的內容,那麼如果需要將資料按照JSON的形式出現,則可以使用printjson()函式完成。
> var cursor=db.emp.find();
> while (cursor.hasNext()){ var doc=cursor.next(); printjson(doc); }
{
"_id" : ObjectId("599294320184ff511bf02b97"),
"name" : "趙一",
"sex" : "男",
"age" : 30,
"sal" : 1000,
"loc" : "北京"
}
在所有的已知資料庫,只有MongoDB的遊標操作最簡單的,最直觀的。
● 判斷是否有下一行資料:lastNext();
● 取出當前資料:next()。
> var cursor=db.emp.find();
> cursor.hasNext();
true
> cursor.next();
{
"_id" : ObjectId("599294320184ff511bf02b97"),
"name" : "趙一",
"sex" : "男",
"age" : 30,
"sal" : 1000,
"loc" : "北京"
}
以上是遊標的操作形式,但是實際上不可能這麼去用,因為必須利用迴圈才能夠輸出內容。
範例:編寫具體的操作程式碼
> var cursor=db.emp.find();
> while (cursor.hasNext()){
... var doc=cursor.next();
... print(doc.name);
... }
趙一
錢二
孫三
李四
週五
吳六
鄭七
王八
劉A
劉B
劉C
劉D
劉E
林A
林B
林C
林D
> var cursor=db.emp.find();
> while (cursor.hasNext()){ var doc=cursor.next(); print(doc); }
[object BSON]
[object BSON]
[object BSON]
[object BSON]
[object BSON]
[object BSON]
[object BSON]
[object BSON]
[object BSON]
[object BSON]
[object BSON]
[object BSON]
[object BSON]
[object BSON]
[object BSON]
[object BSON]
[object BSON]
[object BSON]
相當於每一個資料都單獨拿出來逐行的控制。當遊標資料取出來之後,實際上每行資料返回的都是一個Object型的內容,那麼如果需要將資料按照JSON的形式出現,則可以使用printjson()函式完成。
> var cursor=db.emp.find();
> while (cursor.hasNext()){ var doc=cursor.next(); printjson(doc); }
{
"_id" : ObjectId("599294320184ff511bf02b97"),
"name" : "趙一",
"sex" : "男",
"age" : 30,
"sal" : 1000,
"loc" : "北京"
}
在所有的已知資料庫,只有MongoDB的遊標操作最簡單的,最直觀的。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28536251/viewspace-2144100/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 一步步學MongoDB之使用迴圈來遍歷遊標MongoDB
- 資料庫操作之遊標資料庫
- SQL Server基礎之遊標SQLServer
- Oralce之PL/SQL程式設計(遊標)SQL程式設計
- Oracle 基礎溫習7 之 遊標Oracle
- 遊標翻頁模式下的遊標值模式
- Oracle學習筆記整理之遊標篇Oracle筆記
- Oracle遊標Oracle
- Oracle 遊標Oracle
- SQL 遊標SQL
- Oracle遊標共享(Cursor Sharing)--常規遊標共享和自適應遊標共享(ACS)Oracle
- Oracle遊標共享,父遊標和子游標的概念Oracle
- PL/SQL-遊標和遊標變數的使用SQL變數
- 遊標查詢
- PL/SQL 遊標SQL
- SQL Server遊標SQLServer
- Oracle遊標示例Oracle
- Oracle遊標大全Oracle
- SQL 遊標cursorSQL
- SqlServer遊標例子SQLServer
- oracle cursor遊標迴圈比較遊標元素是否相同Oracle
- SQL Server技術問題之遊標優缺點SQLServer
- mongodb 監控指標MongoDB指標
- Sql Server系列:遊標SQLServer
- Sqlserver遊標複習SQLServer
- Oracle動態遊標Oracle
- 遊標current of cur特性
- MongoDB之聚合MongoDB
- 儲存過程——遊標儲存過程
- MySQL過程和遊標MySql
- 什麼是SQL遊標?SQL
- PL/SQL 04 遊標 cursorSQL
- SQL Server遊標使用例子SQLServer
- oracle遊標使用全解Oracle
- PLSQL學習-【5遊標】SQL
- Oracle 遊標使用全解Oracle
- [轉]oracle 遊標使用大全Oracle
- 【筆記】遊標變數筆記變數