【问题标题】:Why Flask-PyMongo bulk_writes method doesn't exist?为什么 Flask-PyMongo bulk_writes 方法不存在?
【发布时间】:2018-12-10 04:12:27
【问题描述】:

我有一些像这样的代码 sn-p:

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 集合一起使用?

感谢您的帮助!

【问题讨论】:

    标签: flask pymongo flask-pymongo


    【解决方案1】:

    看起来你打错了,在方法名称中添加了一个“s”。试试不带“s”的bulk_write

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

    【讨论】:

    • 哦,我的错,谢谢你的帮助和你的工作! :)
    猜你喜欢
    • 2015-05-25
    • 2016-10-22
    • 2019-04-12
    • 2015-03-30
    • 1970-01-01
    • 2012-05-06
    • 2012-04-09
    • 2019-12-22
    • 2017-09-07
    相关资源
    最近更新 更多