批量更改mongo grid filename

4 篇文章 0 订阅
根据规则修改mongo grid filename

一:按行和,号切分生成名字mapping文件

File.open("/Users/jamst/ebuychem/script/config_u.conf",'w') do |f|
EbuychemAttachment.where("attachment_type != 'ProblemOrderMessage'").each do |ec|
pp = "uploads/#{ec.attachment_type.to_s.underscore}/path/#{WhUtils.split_id(ec.attachment_id,false)}/#{ec.path},uploads/#{ec.attachment_type.to_s.underscore}/path/#{WhUtils.split_id(ec.id,false)}/#{ec.path}"
f.write("#{pp}\n")
end
end


二:执行shell脚本将mongo file名字更改

#! /bin/sh

while read mongoData ; do

data1=`echo $mongoData | grep -v '#' | awk -F ',' '{print $1}'`

data2=`echo $mongoData | grep -v '#' | awk -F ',' '{print $2}'`

mongoDataChang="db.fs.files.update({filename:"\"$data1\""},{"\$set":{filename:"\"$data2\""}},false,true)"

a=$mongoDataChang

echo $a

mongo test --eval "$a"

done < "/root/config_u.conf"


遗留问题:
在rails中通过gem:mongo上传的文件到grif,但是没有找到方法循环更改filename。
[url]http://api.mongodb.com/ruby/current/Mongo/Grid/FSBucket.html[/url]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值