MongoDb和Python(webapp2)的新版本.所以,我从mongodb数据库中提取了一些数据.但我无法对返回的数据使用json.dumps.这是我的代码:

exchangedata = db.Stock_Master.find({"Country": "PHILIPPINES"}, {"_id" : 0})        
self.response.write(json.dumps(exchangedata)) 

这会引发一个错误:

TypeError: pymongo.cursor.Cursor object at 0x7fcd51230290 is not JSON serializable

exchangedata型是pymongo.cursor.Cursor型.如何将其转换为json对象?

推荐答案

使用bson.json_util的转储:

>>> c = pymongo.MongoClient()
>>> c.test.test.count()
5
>>> from bson.json_util import dumps
>>> dumps(c.test.test.find())
'[{"_id": {"$oid": "555cb3a7fa5bd85b81d5a624"}}, {"_id": {"$oid": "555cb3a7fa5bd85b81d5a625"}}, {"_id": {"$oid": "555cb3a7fa5bd85b81d5a626"}}, {"_id": {"$oid": "555cb3a7fa5bd85b81d5a627"}}, {"_id": {"$oid": "555cb3a7fa5bd85b81d5a628"}}]'

Mongodb相关问答推荐

在MongoDB中,如何使用$in来匹配存储在数组变量中的值

MongoDB聚合$group阶段$top与$first在大型数据集上的效率

Mongodb Timeseries / Golang - ['timestamp' 必须存在并包含有效的 BSON UTC 日期时间值]

在mongoose 中按键查找嵌套对象

增加嵌套对象中的值?

如何在 Mongo 聚合中合并文档中的数组字段

如果 mongoDB 服务器正在运行,如何从驱动程序判断

具有最佳插入/秒性能的数据库?

在 Heroku 上使用 Node 读取、写入和存储 JSON

在 Mongoose 中清理用户输入

MongoDB插入引发重复键错误

Springboot 使用 find*() 查询时出现 Mongodb 错误

请按语法排序 Mongoid Scope

无法从 javascript 打印 BSON 对象

Mongodb KeyFile 太开放权限

C# MongoDB 驱动程序 - 如何使用 UpdateDefinitionBuilder?

如何在java中删除mongodb集合中的所有文档

我如何将 mongodb 与electron一起使用?

MongoDb:聚合 $lookup 过滤外部文档

聚合 $lookup 匹配管道中文档的总大小超过最大文档大小