【发布时间】:2022-01-22 23:03:08
【问题描述】:
我有一本要永久保存在 mongodb 数据库中的集合字典。但是,我在保存过程中收到错误“无法编码对象:{1, 2},类型:
{'One': {1, 2}, 'Two': {3, 4}, 'Three': {5, 6}}
【问题讨论】:
-
您打算以哪种 MongoDB 类型存储集合?
-
我不知道不同的可能类型,但这实际上并不重要。只要我可以加载数据并再次获取集合字典,哪种类型都没有关系。
-
当然这很重要。 MongoDB 制定了关于可以在其中保存的内容的规则。并且集合不是这些规则的一部分。
-
计划在最后再接收集。因此,集合是保存为类型 x 还是类型 y 并不重要,如果我可以轻松地将其再次转换为集合。因此,只要我可以轻松地重建保存的集合字典,我就可以接受任何类型。
-
JSON 和 BSON 不支持集合,因此将它们保存为数组的唯一方法。如果您的驱动程序抱怨意味着它在编码为 BSON 时不会自动将集合转换为数组。解决方案是更改驱动程序代码(编码为 BSON 部分)或在将它们插入数据库之前对其进行转换。
标签: python mongodb dictionary set pymongo