如题:系统初次安装需要执行脚本。
当前想到的几个方案 :
1.利用mongo-driver直接执行脚本文件。
根据查找的资料发现这个工具类中的db.RunCommand(ctx, bson.D{{"eval",js}})可以执行,尝试了一下发现没有这个“eval”操作方法,去mongo官方文档查看了一番确实也没有这个方法。
2.将脚本转成bson的格式再去执行。
此方案难点就是怎么把脚本转成bson。
3.在本服务里加个mongo命令工具,直接执行mongo命令来执行脚本。
因为需要mongo支撑,mongo的镜像找了一下都是几百M,所以会将本服务的镜像变大。
想咨询下大家有没有好点的方案,或者对上面方案有啥改进和出路麻烦指明一下。
更多评论
是的,当前看这种最合适。 第一个方案,查下了资料,高版本的mongo已经不支持eval了。第二方案没找到合适的工具转化。当前是优化了第三个方案,把collection用mongodump方式存起来了,然后用mongorestore的方式初始化的。
#2