如何解决从脚本 mongo 中获取的值
请帮助我们如何实现这一目标:
/home/bin/mongoexport --host pr01.prod.com:3046 --authenticationDatabase admin -u m7@pub.com -p 'orc1*&'
--readPreference secPref --db action --collection pubaction --type=csv -f "_id" --sort "{_id:-1}"
--noHeaderLine --limit 1 -o /opt/app/maxvalue_id_rt24.csv
2021-04-01T00:48:22.721-0400 exported 1 record
$ cat /opt/app/maxvalue_id_rt24.csv
ObjectId(60659ac)
$ cat lastvalue_id_rt24.csv
ObjectId(60654fe)
--- 我们第一次在lastvalue_id_rt24.csv文件中手动放置lastvalue运行自动化脚本
OUR QUERY ---- db.getCollection('pubaction').find({"_id":{"$gt":ObjectId("60654fe"),"$lte":ObjectId("60659ac")}})
我这里的要求是将 maxvalue 和 lastvalue 中 () 内的值剪切到下一个脚本并将值 x=60654fe 和 y =60659ac
$/home/bin/mongoexport --host pr01.prod.com:3046
--authenticationDatabase admin -u m7@pub.com -p 'orc1*&'
--readPreference secPref --db action
--collection pubaction --type=csv -f "_id,eventId,eventName,timeStamp,recordPublishindicator"
-q '{"_id":{"$gt":'$minvalue',"$lte":'$maxvalue'}}' -o /opt/app/act_id_rt24.csv
So inside script -q '{"_id":{"$gt":ObjectId("x"),"$lte":ObjectId("y")}}' --- we will need to hardcode ObjectId And pass the x and y values
ex: from above output
-q '{"_id":{"$gt":ObjectId("60654fe"),"$lte":ObjectId("60659ac")}}'
在接下来的脚本中,我们必须更改逻辑,将旧 ID 值放在 MINVALUE 中,将新 ID 值放在 MAXVALUE 中
/home/bin/mongoexport --host pr01.prod.com:3046
--authenticationDatabase admin -u m7@pub.com -p 'orc1*&'
--readPreference secPref --db action
--collection pubaction --type=csv -f "_id" --sort "{_id:-1}"
--noHeaderLine --limit 1 -o /opt/app/maxvalue_id_rt24.csv
if [ $? -eq 0 ]
then
maxvalue=`cat maxvalue_id_rt24.csv`
echo $maxvalue
minvalue=`cat lastvalue_id_rt24.csv`
以及在 sqlldr 之后:
sqlldr report/fru1p control=act_id.ctl ERRORS=500 log=x`.log direct=Y
we MUST change LOGIC below to put the old ID value in MINVALUE and NEW ID VALUE IN MAXVALUE
cat maxvalue_id_rt24.csv > lastvalue_id_rt24.csv
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。