/ / Configurazione schema MongoDB - mongodb, schema, schema del database

Configurazione dello schema MongoDB - mongodb, schema, schema del database

Sono molto nuovo a MongoDB. Quindi, non so molto sullo schema: ho trovato lo Schema di modelli di dati nella documentazione di MongoDB e ha anche affermato che le raccolte non impongono la struttura del documento, ma voglio anche creare la configurazione dello schema a livello di database, non dal programma. possibile? Se è possibile, suggeriscimi il modo in cui farlo o condividi un link per il tutorial.

risposte:

0 per risposta № 1

MongoDB non ha schemi, puoi scrivere qualunque cosa tuvoglio ovunque tu abbia bisogno. Ovviamente si desidera mantenere le informazioni in qualche modo coerenti tra loro. Per semplificare, facendo un confronto tra RDBMS e NoSQL, le tabelle sono le raccolte in MongoDB e i record sono documenti, si desidera sempre conservare i documenti di la stessa natura in una collezione, ma possono avere una struttura diversa, personalmente penso che sia un modo più umano di vedere le cose.

C'è un buon esempio in cui vuoi mantenereprodotti di un supermercato, dove ogni prodotto può avere alcune informazioni in comune (come prezzo, nome, EAN13) ma ci sono migliaia di attributi che sono diversi per loro (Peso, Altezza, Grammi o litri, Pollici di un televisore, accensione un forno a microonde, e così via), e ciò richiederebbe 3 tavoli da eseguire su RDBMS e una sola raccolta su NoSQL.

Ci sono molte differenze tra NoSQL eRDBMS e queste opzioni si adattano meglio in alcuni casi rispetto ad altri. Non solo i dati sono importanti, la scalabilità, la disponibilità, l'approccio all'ACID è importante anche per l'analisi.

Pensare che NoSQL sia molto diverso da RDBMS, la normalizzazione richiede un approccio diverso (da N a N richiede un modo MOLTO diverso di vedere il problema).

Detto questo, e andando sulla tua domanda, c'è un modo o un approccio agli schemi, a volte lo uso MongooseJS per NodeJS che è un ODM per MongoDB in cui è possibile specificare alcuni campi per un documento, anche relazioni, tipi di dati, ecc.

Saluti!