2016-08-17 1 views
0

J'ai besoin de mettre à jour les métadonnées d'un fichier dans GridFS. J'ai regardé autour de moi et j'ai trouvé que ce n'était pas possible, la seule solution est de supprimer l'ancien enregistrement et d'en créer un nouveau avec le même ID.MongoDB GridFS remplacer/mettre à jour les métadonnées

Comment puis-je créer un nouvel enregistrement avec le même ancien ID?

J'ai essayé de définir: _id => id dans le hash: metadata, mais cela ne fonctionne pas.

Merci!

Répondre

2

J'ai découvert que vous pouvez accéder au files_collection, où toutes les informations sont enregistrées et le mettre à jour, comme ceci:

metadata = database.fs.files_collection.find(id_criteria).first[:metadata] 
metadata[:value] = { whatever info here } 

database.fs.files_collection.find(:_id => id).update_one("metadata" => metadata) 
+0

Merci. Je prends une classe et l'instructeur et les notes et les exemples sont horribles. Je me débattais avec ça. – aenw