我打算在这个数组中为foreignkey id保存大量的id。所以,我只是检查我可以在字段数组中保存的BSON :: ObjectIds的最大数量。让我们说例如
department_ids: [BSON::OBjectId('57cf6d6e8315292136000001'), BSON::OBjectId('57cf6d6e8315292136000002') ...... ]
答案 0 :(得分:2)
16MB足以容纳大量的ObjectId,ObjectIds并不那么重,它们是12个字节,当你将它除以16MB时,你会超过100万。
但是如果您仍然无法保证,您可以通过Mongo的灵活架构设计获益,并创建一个后续文档来保存更多数组并将该文档的_id存储在相关文档中,其中包含一个名为as的字段“followBy”或其他什么。
缺点是你必须执行后续查询(或者可能不是)。
希望有所帮助。
答案 1 :(得分:0)
您放入数组的对象数量有无限制。但是,包含该阵列的文档不能超过16兆字节。
答案 2 :(得分:0)
monogdb的文档中没有提到这样的限制,但是javascript数组最多可以有 2 ^ 32-1 = 4,294,967,295 = 42.9亿个元素。
mongodb文档最多可以有16MB。
答案 3 :(得分:0)