Python_关于pymongo与bso
2023-01-31 01:01:23
python
__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
]
}
相关文章