关于利用mongodb的shell执行脚本,这点在以前的文章中有点遗漏;现在在此篇博客中做个补充;

一、在命令行中传入脚本文件

定义一个javasciprt文件,名称为:script1.js,内容如下:

  1. print("I am albert shao in the script1.js")

定义另一个javascript文件,名称为script2,内容如下:

  1. print("I like to read and study")

在命令窗口运行得到如下结果:

备注: 脚本文件必须放到mongo的同目录文件下

如果希望使用指定的主机和端口的mongodb上运行脚本,需要先指定地址然后在跟上脚本文件的名称;

mongo --quiet server-1 :3000/foo script1.js script2.js

二、交互执行js脚本

 

三、创建.mongorc.js文件

如果某些脚本会被频繁加载,可以将它们添加到mongor.js文件中。这个文件会在启动shell时候自动运行;

例如我们希望启动shell显示一句欢迎语句。我们在用户的主目录创建一个名为【.mongorc.js】文件,向其中添加如下代码:

  1. var compliment = ["like albert","attractive","intellgient"];
  2. var index = Math.floor(Math.random()*3);
  3. print("Hello, you're looking particularly " + compliment[index] + "  today!");

预想可能会直接自动加载,文件目录:

运行会出现:

如果不在administer目录 则需要指定,如下一样:

另外,mongo --eval 运行一段脚本

 
不进入交互模式,直接在 OS 的命令行下运行一段mongodb脚本。
 
mongo 127.0.0.1:27017/test --eval "printjson(db.users.findOne())"
 

Mongodb使用shell实现与javascript的动态交互的更多相关文章

  1. 【MongoDB】在Mongodb使用shell实现与javascript的动态交互

    关于利用mongodb的shell运行脚本,这点在曾经的文章中有点遗漏:如今在此篇博客中做个补充: 一.在命令行中传入脚本文件 定义一个javasciprt文件,名称为:script1.js,内容例如 ...

  2. MongoDB笔记(二):MongoDB下Shell的基本操作

    一.mongoDB与关系型数据库对比 对比项              mongoDB             关系型数据库(oracle.mysql) 表 集合List 二维表table 表的一行数 ...

  3. MongoDB的Shell操作

    前言 本文从介绍了MongoShell 的配置.脚本.数据类型和其他指令. MongoShell - 简介 MongoShell是一个互动的JavaScript接口的MongoDB,可以使用Mongo ...

  4. JavaScript DOM动态创建(声明)Object元素

    http://www.cnblogs.com/GuominQiu/archive/2011/04/01/2002783.html 一文提及“等整个页面加载完毕后,根据用户所选的阅读机类型,再用Java ...

  5. 每天一个JavaScript实例-动态省份选择城市

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  6. 理解Javascript的动态语言特性

    原文:理解Javascript的动态语言特性 理解Javascript的动态语言特性 Javascript是一种解释性语言,而并非编译性,它不能编译成二进制文件. 理解动态执行与闭包的概念 动态执行: ...

  7. 第一百一十八节,JavaScript,动态加载脚本和样式

    JavaScript,动态加载脚本和样式 一动态脚本 当网站需求变大,脚本的需求也逐步变大.我们就不得不引入太多的JS脚本而降低了整站的性能,所以就出现了动态脚本的概念,在适时的时候加载相应的脚本. ...

  8. JavaScript 拥有动态类型

    字符串.数字.布尔.数组.对象.Null.Undefined JavaScript 拥有动态类型 JavaScript 拥有动态类型.这意味着相同的变量可用作不同的类型: 实例 var x // x ...

  9. canvas :原生javascript编写动态时钟

    canvas :原生javascript编写动态时钟     此时针是以画布的中心为圆心: g.translate(width/2,width/2); 此函数是将画布的原点移到(width/2,wid ...

随机推荐

  1. elasticsearch-head插件添加安全认证

    elasticsearch-head是集群管理.数据可视化.增删查改.查询语句可视化工具;它可以对数据进行增删查改,对于数据安全来说是有风险的,因此在生产环境中尽量少用,使用该插件至少要限制ip地址或 ...

  2. 笨办法学Python(learn python the hard way)--练习程序39-40

    下面是练习39-练习40,基于python3 #ex39.py 1 ten_things = "Apples Oranges Crows Telephone Light Sugar" ...

  3. curry柯里化

    Function.prototype.method = function(name,func){ if(!this.prototype[name]){ this.prototype[name] = f ...

  4. druid spring监控配置

    方法一: <bean id="seckillServiceImpl" class="org.seckill.service.impl.SeckillServiceI ...

  5. redhat 修改yum源

    问题现象: 现有的yum安装git失败,提示yum源连接失败 Error Downloading Packages: git--.el6_4..x86_64: failure: Packages/gi ...

  6. scrapy-redis源码浅析

    原文链接 前言 分析这个项目的源码原因是需要有去重过滤,增量爬取两个功能,而scrapy-redis项目已经帮我们实现了,想看看他是怎么实现的.这里只贴出部分主要代码,查看时请打开源码对照,笔记有点长 ...

  7. SPSS输出结果如何在word中设置小数点前面显示加0

    SPSS输出结果如何在word中设置小数点前面显示加0 在用统计分析软件做SPSS分析时,其输出的结果中,如果是小于1(绝对值)的数,那么会默认输出不带小数点的数值.例如0.362和 -0.141被显 ...

  8. hdu1257最少拦截系统 动态规划(最长递增子序列(LIS))

    Problem Description 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能超过前一发的高 ...

  9. Proxifier全局代理

    0x00前言   成功搭建使用shadowshocks实现代理访问google,然而只能浏览器代理方式使用,不能其他程序使用代理,不利于白帽子匿名安全检测,下面将介绍利用Proxifier实现全局代理 ...

  10. reuseaddr和点对点聊天

    解决绑定失败 在测试时,经常会出现绑定错误,bind error: Address already in use 这里只要指定一下socket的reuseaddr属性即可解决 int on=1; if ...