3.5 游标(重点)
所谓游标就是指数据可以一行行的进行操作,非常类似于ResultSet数据处理。在MongoDB里对游标的控制使用find()函数就可以返回游标。对于返回的游标如果想进行操作,使用两个函数:
- 判断是否有下一行数据:hasNext()
- 取出当前数据:next()
var cursor = db.students.find() //db.students.find()返回students集合中数据
cursor.hasNext()
cursor.next()
以上是游标的操作形式,但是实际上不可能这么去用,因为必须利用循环才能输出内容。
范例:编写具体的操作代码
var cursor = db.students.find()
while (cursor.hasNext()){
cursor.next()
}
用cursor.next()并不能循环输出全部信息,只能输出最后一条。
var cursor = db.students.find()
while (cursor.hasNext()){
var doc = cursor.next()
print(doc.name)
}
用print()能循环输出全部信息。
var cursor = db.students.find()
while (cursor.hasNext()){
var doc = cursor.next()
print(doc)
}
当游标数据取出来之后,实际上每行数据返回的都是一个Object型的内容,那么如果需要将数据按照json的形式出现,则可以使用printjson()函数完成。
var cursor = db.students.find()
while (cursor.hasNext()){
var doc = cursor.next()
printjson(doc)
}
(这里只显示部分数据)
在所有数据库中,MongoDB的游标操作是最简单,最直观的。