如何检查 PyMongo 光标是否为空?
MongoDB是一个开源的 NOSQL 数据库,用 C++ 实现。它是一种面向文档的数据库实现,将数据存储在称为集合(MongoDB 文档组)的结构中。 PyMongo是一个著名的开源库,用于嵌入式 MongoDB 查询。 PyMongo 广泛用于与 MongoDB 数据库交互,因为Python是用于数据分析和数据科学的强大语言。
检查 Cursor 对象是否为空?
当使用 .find() 方法使用 pymongo 查询给定集合时,返回值是 PyMongo.cursor.Cursor 类类型的对象,它包含与查询匹配的文档。如果进行的查询没有返回结果,PyMongo 游标将为空。如果要获取需要使用 .find_one() 方法的单个文档。要检查光标对象是否为空,或者是否可以遵循几种方法 -
方法1:返回的游标是一个可迭代的,因此我们可以将其转换为一个列表。如果列表的长度为零(即列表为空),这意味着光标也为空。
样本数据库:
例子:
Python3
import pymongo
connection = pymongo.MongoClient()
db = connection.GFG
col = db.lecture
# This is a cursor instance
cur = col.find()
results = list(cur)
# Checking the cursor is empty
# or not
if len(results)==0:
print("Empty Cursor")
else:
print("Cursor is Not Empty")
print("Do Stuff Here")
Python3
import pymongo
connection = pymongo.MongoClient()
db = connection.GFG
col = db.lecture
# This is a cursor instance
cur = col.find()
if cur.count()==0:
print("Empty Cursor")
else:
print("Cursor is Not Empty")
print("Do Stuff Here")
输出:
Cursor is Not Empty
Do Stuff Here
方法 2:另一种方法是使用 .count() 方法返回查询的匹配文档数。如果 .count() 的返回值为 0,则游标为空y
例子:
Python3
import pymongo
connection = pymongo.MongoClient()
db = connection.GFG
col = db.lecture
# This is a cursor instance
cur = col.find()
if cur.count()==0:
print("Empty Cursor")
else:
print("Cursor is Not Empty")
print("Do Stuff Here")
输出:
Cursor is Not Empty
Do Stuff Here