栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在FLASK和python中使用mongo

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在FLASK和python中使用mongo

首先

find_one
将返回单个字典,或者如果集合中没有匹配的元素,则返回None。所以我认为这
page[0]
等同于获取密钥的页面字典的价值
0

如果返回的文档包含

ObjectId
_id
则不能简单地使用,
jsonify
因为
ObjectIdJSON
不可序列化。你可以使用如下形式:

jsonify({ 'page': make_public_page({k:v for k, v in page.items() if k != '_id'}))

或者你可以

_id
通过致电简单地删除
page.pop('_id')

你也可以使用

bson.json_util
。它包含用于在BSON和JSON之间进行转换的工具。

from flask import Response from bson import json_util

然后,

jsonify
用类似以下内容替换:

return Response(    json_util.dumps({'page' : make_public_page(page)}),    mimetype='application/json')

编辑

如果你想用简短,肮脏的方式来解决问题,可以这样进行:

from bson import json_util, ObjectIdimport json#Lets create some dummy document to prove it will workpage = {'foo': ObjectId(), 'bar': [ObjectId(), ObjectId()]}#Dump loaded BSON to valid JSON string and reload it as dictpage_sanitized = json.loads(json_util.dumps(page))


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/373163.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号