Python_关于pymongo与bson模块

本文探讨了PyMongo模块与bson模块的关系及共存问题,介绍了BSON作为Binary JSON的数据格式特性及其在MongoDB中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

PyMongo模块主页
__PyMongo模块主页
下载PyMongo模块时 它会有一个相对应bson模块 也就是说 PyMongo模块的实现是基于和它一起的bson模块的
该bson模块 并非我们用 pip install bson 安装的 bson。
当你的系统环境下 同时具备这两个模块时 PyMongo模块和bson模块的相对应功能便会挂掉 .
比如说报错:ImportError: No module named bson.code
解决方案:在需要bson模块时 将其下载好 放置自己项目的目录下 并改名使用
如:
这里写图片描述
当然 如果你有更好的解决方法 欢迎指出
**

bson模块

**
是一种类json的一种二进制形式的存储格式,简称Binary JSON,它和JSON一样,支持内嵌的文档对象和数组对象,但是BSON有JSON没有的一些数据类型,如Date和BinData类型;
BSON有三个特点:轻量性、可遍历性、高效性,但是空间利用率不是很理想
MongoDB使用了BSON这种结构来存储数据和网络数据交换;
比如
这是MongoDB 中的一条记录 也是 一个简单的BSON结构体,其中每一个element都是由key/value对组成的
把这种格式转化成文档这个概念(Document),因为BSON是schema-free的,所以在MongoDB中所对应的文档也有这个特征 ;
Document可以嵌套 如 key: tagGroup marketing 是作为一个对象存在的

{
    "_id" : ObjectId("5ac2ea3226487ec74a18169a"),
    "phoneNum" : "13800000012",
    "fromId" : ObjectId("585b49d4391f526226d1aef6"),
    "tagCode" : "410910",
    "statisticsUpdatedAt" : 1522723378830.0,
    "isDeleted" : false,
    "updatedAt" : 1522723378826.0,
    "createdAt" : 1522723378826.0,
    "tagGroup" : {
        "id" : 68,
        "title" : "妇幼儿",
        "updatedAt" : 1522723378825.0
    },
    "hasBoughtSenior" : false,
    "marketing" : {
        "_id" : ObjectId("5ac2ea3226487ec74a18169a"),
        "cpsUpdatedAt" : 1522723378826.0,
        "lowestCost" : -1,
        "cps" : 0,
        "consumedMemberSize" : 0,
        "remainMemberSize" : 0,
        "checkinNum" : 0,
        "remainBalance" : 0,
        "balance" : 0
    },
    "shopProp" : 0,
    "shopLocation" : [ 
        0, 
        0
    ]
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值