MongoDB:如何存储大型数组?(ERR文档太大:此BSON文档限制为16777216字节)



我存储了从twitter到MongoDB的大量朋友和追随者。我很惊讶我达到了16MB的限制,但我想如果我吸引了超过200万粉丝的用户,这是可以理解的。这附近有什么吗?

我正在做一个社会分析项目,会经常查看这些数组。

以下是我的错误:

...in `serialize': Document too large: This BSON documents is limited to 16777216 bytes. (BSON::InvalidDocument)

同样使用Mongo-Ruby gem,Ruby的答案是pref:)

这不会像你希望的那样工作。MongoDB确实允许一些非规范化,但你不能像在空间问题上看到的那样,将2M个项非规范化为一个父项。

在SQL中,您可以将其实现为两个表。您可以使用MongoDB将其实现为两个集合。它可能看起来不太理想,但它代表了MongoDB或SQL中相同的总工作量。

也就是说,MongoDB可能不是您想要的"NoSQL"数据库。像Neo4J这样的图形数据库是为分析高度连接的数据而设计的。此外,Redis支持没有大小限制的列表,所以这可能也更适合。

最新更新