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

DeprecationWarning: count is deprecated. Use Collection.count_documents instead.

我正在用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: 'Cursor' object has no attribute 'count_documents'

在调用find()后,如何正确调用count_documents()

推荐答案

方法count_documentscollection的一部分,而不是cursor(find返回光标).

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

Mongodb相关问答推荐

MongoDB通过查找具有多个数组的对象进行聚合

如何将空值单独分组?

MongoDB 对特定搜索查询的响应时间较长

随着时间的推移在 mongodb 中获得

聚合 $accumulator + $project

在 Mongo 聚合中,可以通过分组生成 3 个不同的计数

mongoose中的 required是什么意思?

MongoDB中的readPreference和readConcern有什么区别?

mongodb中集合的最大大小是多少

更新 mongoengine 中的嵌入文档列表

MongoDB .NET 未在 upsert 上生成 _id

如何使用 mongoexport 导出排序数据?

从 LinkedHashMap 转换为 Json 字符串

使用 Spring Security + Spring 数据 + MongoDB 进行身份验证

如何使用 mgo 和 Go 查询 MongoDB 的日期范围?

如何防止MongoDB在查找文档时返回对象ID?

查询不等于 null 或空的地方

通过浏览器连接mongodb?

带有 either or查询的mongoose findOne

MongoDB聚合框架的索引优化