Mongodb 没有拆分文档的文档限制

Mongodb document limit without split document

我想问一下mongodb文档设计

我有这样结构的文档

{
_id:123,
data:[
   [
      { name: "andy" }, ....
   ],
   [
      { price : 1000 }, ....
   ],
   .....
]}

我把1笔交易放到1份文件里,这样便于管理数据。但是我有一个问题,当数组中有很多数据,当它超过 16mb..

我不想更改数据或将数据拆分成多个文档,因为我的应用程序已经依赖于它在数据数组中的索引,如果我这样做,它在应用程序方面很痛苦..

由于我使用聚合(分页、项目),因此在数据检索方面没有性能问题。

我知道将数据拆分到新文档中可以解决这个问题,我只是将字段引用添加到新文档中。

但是如果我不想拆分文件,可以吗?

在mongodb中,文档大小不能超过16mb。所以你可以简单地将文件分成几部分。当您要从后端访问它时,您可以使用 aggregation 管道进行联合。 您可以为此使用 "allowDiskUse" 功能。