Esiste un modo semplice per associare la struttura delle directory a uno schema MongoDB?

4

Sto provando a memorizzare una struttura di directory, inclusi i file e il loro contenuto, in MongoDB. Il lavoro fa parte di un'app di sincronizzazione e viene utilizzato in Node / Mongoose.

Ora, sono nuovo di Mongo, ed è tardi qui - l'implementazione idiomatica è facile come sembra - cioè qualcosa del genere?

var FileStoreSchema = new Schema({
  fullPath: {
    type: String,
    index: { unique: true }
  },
  filename: String,
  [Metadata and other useful fields]  
});
    
posta blueberryfields 01.03.2012 - 03:55
fonte

1 risposta

2

Dipende in gran parte da quali operazioni vuoi essere in grado di supportare in modo efficiente. Il tuo approccio attuale renderà più semplice elencare tutti i file all'interno di una directory e tutti i discendenti di una directory.

D'altra parte spostare i file da una directory a un'altra è più doloroso perché non esiste un modificatore atomico che ti permetta di modificare una sottostringa di un campo. Invece, dovrai tirare giù tutte le voci del file, modificarle, quindi reinserirle come aggiornamenti. (Qualcuno mi corregga se ho torto su questo)

Con questa struttura è anche relativamente difficile elencare la struttura delle directory per attraversare. L'unico modo per conoscere ogni cartella è caricare ogni percorso di file e quindi analizzarli per vedere se contengono una nuova cartella.

C'è qualcosa di questo? Forse no, dipende completamente da ciò che stai cercando di fare.

Come altro possibile metodo, vuoi davvero rappresentare una gerarchia? O ottieni una rappresentazione migliore con molte gerarchie più piccole? Se è il secondo, è possibile ottenere risultati migliori memorizzando ciascuna gerarchia come un documento completo, rappresentando la struttura delle cartelle con l'annidamento di documenti o tramite riferimenti padre-figlio.

    
risposta data 01.03.2012 - 16:10
fonte

Leggi altre domande sui tag