MongoDB系列之Docker里运行JS脚本

举报
yd_273762914 发表于 2022/06/16 00:02:28 2022/06/16
【摘要】 环境: MongoDB 4.0.10Docker 查看MongoDB版本命令:db.version(); 背景:最近在处理MongoDB的一些数据,不过因为安全问题,所以端口没对外开...

环境:

  • MongoDB 4.0.10
  • Docker

查看MongoDB版本命令:db.version();

背景:最近在处理MongoDB的一些数据,不过因为安全问题,所以端口没对外开放出来,所以不用使用比如Navicat这些客户端软件,所以执行脚本就要到命令窗口执行,执行脚本不长还好,太长的话,复制到shell窗口一大串要很长时间

因为装在docker里,所以直接使用命令,先查看MongoDB镜像ID

docker ps

  
 
  • 1

找到MongoDB的镜像后,进入镜像,0ac56ae108c0 为容器ID

docker exec -it 0ac56ae108c0 bash

  
 
  • 1

因为要执行一大串的脚本,黏贴到shell窗口里,就要很长时间,所以问题来了,直接复制一大串代码执行的方法太慢了,只能看看能不能用命令执行文件,将代码弄到一个js文件里,然后用命令执行

先从MongoDB数据库导出js脚本,然后在js脚本文件里,在其最前面加上连接数据库的代码:

conn = new Mongo("127.0.0.1:27017");
db = conn.getDB("test");

  
 
  • 1
  • 2

然后保存,使用docker命令复制js文件到MongoDB容器里

docker cp /opt/test.js 0ac56ae108c0:/opt/test.js

  
 
  • 1

然后使用mongo命令执行js脚本,注意是要到MongoDB容器里执行

# 到/opt目录
cd /opt
# 执行js脚本
mongo test.js 

  
 
  • 1
  • 2
  • 3
  • 4

总结:本博客需要一些docker基础,没遇到这个问题的读者,可能不太理解,因为要导入很多数据导MongoDB,所以先在Navicat这些工具导出js脚本,然后因为shell窗口复制执行太慢了,所以先在js代码里加上连接MongoDB的代码,然后docker复制文件到MongoDB容器里,在使用命令直接执行js文件,速度很快

文章来源: smilenicky.blog.csdn.net,作者:smileNicky,版权归原作者所有,如需转载,请联系作者。

原文链接:smilenicky.blog.csdn.net/article/details/125293861

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。