我希望将字典插入mongo db并返回
我发现了几个关于这个错误的问题,但都与阅读查询有关。因为我只是插入,不需要解析任何输出,所以我根本不理解这种行为
行为的主要区别在于在这一行输入/输出注释:
db_s41.links.insert_one(new_link_doc)
注释掉行后,对象的返回工作正常。显然,文档没有插入
如果未注释掉行,则返回不起作用,抛出错误,但文档仍然正确插入数据库
我正在使用以下代码:
from flask import Flask, redirect, url_for, request, render_template
from pymongo import MongoClient
import os
app = Flask(__name__)
client = MongoClient(
os.environ['DOCKER_FLASK_MONGODB_DB_1_PORT_27017_TCP_ADDR'],
27017
)
# Set db object
db_s41 = client.s41
@app.route('/new_link2')
def generate_link(berater="muster_berater", kunde='muster_kunde'):
new_link_doc = {
'link': 'test',
'required_documents': [],
'date_link_generated': 'test',
'timestamp_link_generated': 'test',
'berater_link_generated': 'test'
}
# insert into database 's41', collection 'links'
db_s41.links.insert_one(new_link_doc)
return new_link_doc
if __name__ == "__main__":
app.run(host="0.0.0.0", debug=True)
我正在使用以下版本:
Docker版本20.10.1,版本831ebea
Mongo 4.4.2
Python 3.6.6
单击7.1.2
烧瓶1.1.2
它是危险的1.1.0
金甲2.11.2
MarkupSafe 1.1.1
pip 10.0.1
pymongo 3.11.2
设置工具39.2.0
Werkzeug 1.0.1
车轮0.31.1
我真的很感激任何想法
将文档插入MongoDB时,如果未指定
_id
字段,pymongo驱动程序将在插入数据库之前向文档中添加类型为ObjectId
的_id
字段见https://pymongo.readthedocs.io/en/stable/faq.html#writes-and-ids
Flask然后尝试JSON序列化它不知道如何做的字段;因此出现了错误
一个简单的修复方法可以是在返回它之前只
pop
这个_id
;e、 g相关问题 更多 >
编程相关推荐