【发布时间】:2016-12-24 11:30:04
【问题描述】:
我需要更新 GridFS 中文件的元数据。
看了一圈发现不行,唯一的解决办法就是删除旧记录,新建一条id相同的记录。
如何创建具有相同旧 ID 的新记录?
我尝试在 :metadata 哈希中设置 :_id => id,但它不起作用。
谢谢!
【问题讨论】:
我需要更新 GridFS 中文件的元数据。
看了一圈发现不行,唯一的解决办法就是删除旧记录,新建一条id相同的记录。
如何创建具有相同旧 ID 的新记录?
我尝试在 :metadata 哈希中设置 :_id => id,但它不起作用。
谢谢!
【问题讨论】:
我发现您可以访问保存所有信息的 files_collection 并对其进行更新,如下所示:
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)
【讨论】: