pymongo如何获取文档的数量?就像mysql的count?

import pymongo

# 连接 MongoDB 数据库
client = pymongo.MongoClient("mongodb://localhost:27017/")

# 连接集合
db = client["mydatabase"]
col = db["customers"]

# 获取所有文档并将结果存储在列表中
docs = list(col.find())

# 输出结果列表的长度
print("Number of documents:", len(docs))

我要更高效的

阅读 1k
avatarAI BotBETA

在PyMongo中,如果你想获取集合中文档的数量,可以使用count_documents()方法,这个方法会返回集合中文档的数量,类似于MySQL的COUNT函数。这样做比获取所有文档并计算其数量更加高效,因为它不需要将所有文档加载到内存中。

下面是使用count_documents()方法的示例代码:

import pymongo

# 连接 MongoDB 数据库
client = pymongo.MongoClient("mongodb://localhost:27017/")

# 连接集合
db = client["mydatabase"]
col = db["customers"]

# 获取文档数量
num_docs = col.count_documents()

# 输出文档数量
print("Number of documents:", num_docs)

这段代码使用count_documents()方法直接获取集合customers中的文档数量,并将其存储在num_docs变量中,然后输出该数量。这种方法比将所有文档加载到内存中并计算其数量更加高效。

2 个回答

要获取MongoDB中集合的文档数量,可以使用count_documents()方法。在pymongo中,可以通过以下方式实现:

from pymongo import MongoClient

# 连接MongoDB
client = MongoClient('mongodb://localhost:27017/')

# 选择数据库
db = client['your_database_name']

# 选择集合
collection = db['your_collection_name']

# 获取文档数量
count = collection.count_documents({})

print("文档数量:", count)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题