pymongo 可以直接存这种格式的数据么?

2016-08-22 19:58:33 +08:00
 zmrenwu

看了一些 Mongodb 的教程,想知道 mongodb 如何存储这样复杂格式的数据:

5E568D95:[{'692C0E5F': '1'}, '4704764E', '19617', [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], '2003']

5ECA6A4F:[{'59565B3C': '1', '28A7CC93': '3'}, '464C588C', '17501', [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], '2003']

5C71C455:[{'6C9F2BA3': '3', '6CB84E8F': '2'}, '43D23988', '16849', [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], '2002']

59B2C66F:[{'6F9518F5': '1'}, '4542027C', '19004', [0, 0, 0, 0, 0, 0, 0, 0, 0], '2006']

586BEC98:[{'0D1376E7': '3', '6CF6614F': '2'}, '46E903B1', '19374', [0, 0, 0, 0, 0, 0, 0, 0, 0], '2006']

5A7E66D0:[{'66C66D75': '1'}, '43D23988', '19580', [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], '2004']

大概格式就是一个字典,键是一个字符串,值是一个列表,而列表第一项是一个字典(大小不定),第二、三项是一个字符串,第四项是一个大小不定的列表,第五项是一个字符串。

pymongo 的 api 能自动把这些格式转换成 mongodb 的存储结构么?还是需要自己手动构建?

2331 次点击
所在节点    Python
6 条回复
strahe
2016-08-22 20:08:23 +08:00
转成字典就可以存了。
zmrenwu
2016-08-22 20:15:13 +08:00
@strahe 你是说作为值的列表还要转成字典么?
WinterWu
2016-08-22 20:43:20 +08:00
字典应该直接存就好了。但是这个方式存不太好,不方便检索,做 agg 也不好做。当然你就是想这样也没关系。
另外直接测试一下就好了,不用问。
zhuangzhuang1988
2016-08-22 21:38:17 +08:00
试试, 可以就可以不可以的话就转换下再存。。
Karblue
2016-08-23 09:40:50 +08:00
这不是标准 JSON 。 我记得 mongo 好像是存不了。 就算能存你操作起来也巨麻烦
zmrenwu
2016-08-26 19:19:44 +08:00
嗯,我大概测了一下,相当于序列化到硬盘,想要更快地索引必须调整结构。不过目前对我来说够了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/301028

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX