前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MongoDB系列之Docker里运行JS脚本

MongoDB系列之Docker里运行JS脚本

作者头像
SmileNicky
发布2022-06-16 08:03:57
1.6K0
发布2022-06-16 08:03:57
举报
文章被收录于专栏:Nicky's blogNicky's blog

环境:

  • MongoDB 4.0.10
  • Docker

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

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

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

代码语言:javascript
复制
docker ps

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

代码语言:javascript
复制
docker exec -it 0ac56ae108c0 bash

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

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

代码语言:javascript
复制
conn = new Mongo("127.0.0.1:27017");
db = conn.getDB("test");

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

代码语言:javascript
复制
docker cp /opt/test.js 0ac56ae108c0:/opt/test.js

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

代码语言:javascript
复制
# 到/opt目录
cd /opt
# 执行js脚本
mongo test.js 

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-06-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MongoDB
腾讯云数据库 MongoDB(TencentDB for MongoDB)是腾讯云基于全球广受欢迎的 MongoDB 打造的高性能 NoSQL 数据库,100%完全兼容 MongoDB 协议,支持跨文档事务,提供稳定丰富的监控管理,弹性可扩展、自动容灾,适用于文档型数据库场景,您无需自建灾备体系及控制管理系统。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档