Je suis totalement nouveau sur MongoDB, et je suis confus sur la façon de structurer les données. Ce que je dois faire est de stocker un ensemble d'objets qui peuvent être récupérés par des clés différentes. Par exemple, j'ai l'objet "CustomerInfo" et il peut être référencé par les clés "Customer1", "Customer_1", "Cust.1", "Customer 1" et ainsi de suite.Conception de MongoDB - Même document avec plusieurs clés
Dans un RDMBS, je créer une table distincte pour stocker les alias et avoir une seule ligne pour les données d'informations client. Ensuite, je les rejoins, en utilisant l'alias que je reçois du client, et j'arrive aux données. Cela semble simple et direct, mais jusqu'à présent, je n'ai pas réussi à créer une base de données vide. Il semble que mon expérience avec RDBMS soit plus un obstacle qu'un atout dans ce cas, car j'ai tendance à "penser relationnel" et cela (évidemment) ne s'applique pas aux bases de données NoSQL.
Toute suggestion est la bienvenue, merci d'avance pour toutes les réponses.
Cette réponse est correcte. Dans la plupart des cas où vous avez une relation un-à-plusieurs, comme dans ce cas un clientInfo ayant de nombreux alias, c'est la meilleure solution pour intégrer les many-objects en tant que tableau dans l'un-objet. Je pourrais seulement penser à deux cas où vous devriez employer des références au lieu de l'incorporation: (a) vous pourriez approcher les 16 Mo par limite de document ou (b) vous modifiez ou interrogez les objets-enfants en dehors du contexte de l'objet-parent . – Philipp
Merci pour la réponse, cela semble une bonne solution. Pour répondre à votre question, je * peux * traduire un pseudonyme en un identifiant et, en fait, c'est ce que je fais avec le RBMS. Un ID de ligne CustomerData -> plusieurs alias. – Diego
@Philipp: l'objet client * sera * modifié extérieurement indépendamment des alias, comme cela arrive toujours dans une relation un à plusieurs. Les alias resteront les mêmes (la plupart d'entre eux sont des valeurs héritées, qui ne changeront pas), les informations client changeront. Suggérez-vous que je devrais regarder dans l'utilisation de références, dans un tel cas? – Diego