为什么 Flask-PyMongo bulk_writes 方法不存在?

Why Flask-PyMongo bulk_writes method doesn't exist?

我有一些这样的代码片段:

from flask import Flask
from flask_pymongo import PyMongo
from pymongo import InsertOne, UpdateOne, DeleteOne, ReplaceOne
from flask import jsonify

app = Flask(__name__)
app.config['MONGO_DBNAME'] = 'MyDB'

mongo = PyMongo(app)
coll = mongo.db['collection1']

requests = []
for d in data_to_delete:
    requests.append(DeleteOne({'key1': d}))

result = coll.bulk_writes(requests)

return jsonify(result=result.deleted_count)

当我尝试执行它时,收到错误消息:

TypeError: 'Collection' object is not callable. If you meant to call the 'bulk_writes' method on a 'Collection' object it is failing because no such method exists.

PyMongo documentationCollection 对象有这个方法,虽然我知道 Flask-PymongoPyMongo 的包装器。 可能是什么问题,我如何将 bulk_writes()Flask-Pymongo 集合一起使用?

感谢您的帮助!

看起来你打错了,在方法名称中添加了 "s"。尝试 bulk_write 而没有 "s".

Flask-PyMongo,与 PyMongo 本身和 MongoDB shell 一样,将集合中的未知属性名称视为带点的集合名称,因此它认为您正在尝试调用名为 collection1.bulk_writes.