J'ai des fichiers stockés dans un MongoDB à l'aide de gridfs. J'ai besoin de supprimer certains de ces fichiers par ID, à partir de la coque JavaScript. Je dois supprimer un seul fichier en utilisant son identifiant. Je pensais que je pouvais juste faire ceci: cela fonctionne dans une certaine mesure; Il supprime le fichier de la collection Je pourrais parcourir les morceaux et supprimer ceux qui font référence à ce fichier, mais y a-t-il un meilleur, construit -Donne façon de faire ça? p> p> fs.files code> mais ne supprime pas les morceaux de la collection
fs.chunks code>. La raison pour laquelle je sais que c'est parce que je vérifie la longueur des deux collections avant et après, à Rockmongo. P>
3 Réponses :
Vous voulez utiliser update 2 strong> Il existe également un outil de ligne de commande, Mongofiles ( http: // www.mongodb.org/display/docs/gridfs+Tools ), qui vous permet de supprimer des fichiers db.fs.delete (_ID); code> à la place. p>
Mongofiles Supprimer
Ah, je vois. Malheureusement, je ne peux pas utiliser Mongofiles car je n'ai que l'identifiant du fichier que je veux supprimer. Prévoyez-vous des problèmes que je voudrais me faire en supprimant moi-même les morceaux correspondants?
Avez-vous besoin de faire cela à travers la coquille? Pourquoi ne pas se connecter à un pilote dans votre langue de choix? Et non, aussi loin que je sais que ce serait bien de faire quelque chose comme db.fs.chunks.remove ({fichiers_id: my_id}); code>, puis
db.fs.files.remove ({_ID: my_id}); code>
J'aurais préféré le faire de la coquille mais je vais utiliser une langue avec un conducteur. Merci!
mongofiles --host localhost:30000 --db logo delete logo_susan1225.png refer to this page: http://docs.mongodb.org/manual/reference/program/mongofiles/#bin.mongofiles
Vous pouvez supprimer le fichier de gridfs en supprimant les morceaux et les fichiers de Shell. Par exemple
db['fs.chunks'].remove({files_id:my_id}); db['fs.files'].remove({_id:my_id});