I file sono archiviati in un MongoDB utilizzando GridFS. Ho bisogno di rimuovere alcuni di questi file per ID, dalla shell JavaScript. Devo rimuovere un singolo file usando il suo ID. Ho pensato che potevo fare questo:MongoDB rimuove gli oggetti GridFS dalla shell
db.fs.files.remove({_id: my_id});
Questo funziona in una certa misura; rimuove il file dalla raccolta fs.files
ma non rimuove i blocchi stessi dalla raccolta fs.chunks
. La ragione per cui lo so è perché controllo la lunghezza di entrambe le raccolte prima e dopo in RockMongo.
Potrei passare attraverso i blocchi e rimuovere quelli che si riferiscono a quel file, ma c'è un modo migliore e integrato per farlo?
Ah capisco. Purtroppo, non posso usare mongofiles perché ho solo l'ID del file che voglio cancellare. Prevedi qualche problema che ottengo cancellando io stesso i pezzi corrispondenti? –
Hai bisogno di farlo attraverso la shell? Perché non connetterti con un autista nella tua lingua preferita? E no, per quanto ne so, sarebbe ok fare qualcosa come 'db.fs.chunks.remove ({files_id: my_id});' e poi 'db.fs.files.remove ({_ id: my_id}) ; ' –
Avrei preferito farlo dalla shell, ma userò una lingua con un driver. Grazie! –