Tengo una matriz de objetos con el siguiente formato.
{ id: 1, text: "Group 1", complete: 35, start: "2021-10-04T00:00:00", end: "2021-10-16T00:00:00", taskOwner: "test owner 10", wbsNumber: "1", children: [ { id: 2, start: "2021-10-04T00:00:00", end: "2021-10-11T00:00:00", text: "Task 1", complete: 60, children: [ { id: 1113, start: "2021-10-11T00:00:00", end: "2021-10-16T00:00:00", text: "Task New", complete: 0, }, ], }, ], }La matriz de niños se puede anidar N veces. ¿Cuál es la mejor manera de almacenar/actualizar esta matriz en mongodb?
De la documentación oficial de Mongo :
MongoDB admite no más de 100 niveles de anidamiento para documentos BSON.
Entonces, si alguna vez se esperara que N fuera mayor que 100, entonces su controlador Mongo arrojaría un error cuando intente escribir. Pero suponiendo que N no esté cerca de este umbral, puede trabajar con sus datos como lo haría con cualquier otro dato.
Una solución aquí podría ser usar la colección GridFS para almacenar sus objetos JSON anidados masivamente. Sus datos en realidad se almacenarían como fragmentos binarios. Sin embargo, tenga en cuenta que consultar y actualizar datos en GridFS tenderá a ser mucho más lento que usar documentos BSON en una colección regular de Mongo. Antes de ir en la dirección de GridFS, es posible que desee repensar su modelo de datos.