首页 > 解决方案 > PyMongo 中的警告消息:不推荐使用计数

问题描述

def post(self):
    if db.users.find({"email": email}).count() != 0:
        abort(400, message="email is alread used.")

弃用警告:不推荐使用计数。请改用 Collection.count_documents。

我正在使用 Python-Flask 和 PyMongo 包制作身份验证服务器。每次post()调用方法时,都会显示上述弃用警告消息。

def post(self):
    if db.users.find({"email": email}).count_documents() != 0:
        abort(400, message="email is alread used.")

但是,如果我更改count()为,则会count_documents()出现以下错误消息。

AttributeError:“光标”对象没有属性“count_documents”

被调用后如何count_documents()正确find()调用?

标签: mongodb

解决方案


该方法count_documents是 的一部分,而collection不是cursor(find返回游标)。请参阅有关该方法的 PyMongo 文档以获取更多信息和有关某些运算符的注释。

def post(self):
    if db.users.count_documents({"email": email}) != 0:
        abort(400, message="email is alread used.")

推荐阅读