MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

MongoDB Schema Design (array aninhado vs coleção separada)


Como parece que você realmente precisará consultar os dados de pagamento fora do contexto do cliente (ou seja, para relatórios agregados), não gostaria de adicionar cada item de pagamento individual aos objetos de coleção do cliente.

Eu certamente criaria uma coleção de objetos de pagamento e, em seguida, referenciaria uma chave de pagamento no objeto de cliente para cada pagamento e a chave de cliente no objeto de pagamento, para que você tenha uma maneira definitiva de relacionar uma à outra em qualquer direção ou tenha uma terceira coleção mapeando clientes para pagamentos.

O que é preferível aqui pode realmente depender do seu padrão de acesso. Por exemplo, você pode nem precisar dessas "chaves estrangeiras" em ambos os conjuntos de objetos se a pesquisa for sempre em uma direção para os casos em que você precisar estabelecer a relação.