mongodb默认是不允许存储键中带’.’的字典,
pymongo中实现的两种解决方案:
- 将字典键中的’.’用’_’等其他符号替代;
- 但是当字典包含多层嵌套字典,我觉得通过替换过于麻烦,所以我使用了另一种方案:
collection.insert(docs, check_keys=False)
即通过设置check_keys来使得mongo不检查’.’, 但是这个方案只限于临时解决方案,因为这个方案只适合于pymongo2.7版本,并且在后续版本中insert这个方法是被废弃的,而新增的insert_one和insert_many并没有checks_keys的属性。