sql >> Base de Datos >  >> NoSQL >> MongoDB

Diseño de esquema MongoDB (matriz anidada frente a colección separada)

Dado que parece que realmente necesitará consultar los datos de pago fuera del contexto del cliente (es decir, para informes agregados), no me gustaría agregar cada elemento de pago individual a los objetos de colección del cliente.

Sin duda, crearía una colección de objetos de pago y luego haría referencia a una clave de pago en el objeto de cliente para cada pago y la clave de cliente en el objeto de pago, de modo que tenga una forma definitiva de relacionar uno con el otro en cualquier dirección, o tener una tercera colección asigna clientes a pagos.

Lo que es preferible aquí realmente puede depender de su patrón de acceso. Por ejemplo, es posible que ni siquiera necesite tales "claves foráneas" en ambos conjuntos de objetos si la búsqueda siempre va a ser en una dirección para los casos en los que necesita establecer la relación.