MongoDB使用sh或者js文件

有时候我们需要向数据库中手动插入一些数据,但是如果数据格式本身比较复杂,并且需要插入多条数据的时候,直接子啊mongodb的shell上写js代码来像执行命令一样,虽然简单粗暴,但是对于比较复杂数据的情况是很不方便的,并且在shell上写js代码不方便修改数据等。

所以如果能把想要执行的js代码写成一个脚本,需要插入、修改数据的时候,只需要执行这个脚本就可以了,并且修改js代码也非常的方便

例如:在testdb数据库下的test集合中插入一条数据,

在任意路径下新建一个insert.js的文件(文件名自己定义),内容如下:

var url="mongodb://localhost:27019/testdb";
var db = connect(url);
db.test.insert({"name":"user5"});

执行:

# mongo insert.js 
MongoDB shell version v3.4.14
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.14
connecting to: mongodb://localhost:27019/testdb
MongoDB server version: 3.4.14

查看结果:

test-set:PRIMARY> db.test.find()
{ "_id" : ObjectId("5ad844efa46a748c5a90fe41"), "name" : "user1" }
{ "_id" : ObjectId("5ad8608a8de9df222390480e"), "name" : "user2" }
{ "_id" : ObjectId("5ad860998de9df222390480f"), "name" : "user3" }
{ "_id" : ObjectId("5ad860ba349d15f7f4a9ce9b"), "name" : "user4" }
{ "_id" : ObjectId("5ad860be8c80e45b6ab87b90"), "name" : "user4" }
{ "_id" : ObjectId("5ad860c0049eccbc93be69b0"), "name" : "user4" }
{ "_id" : ObjectId("5ad8611c7d1d4c1131c1a424"), "name" : "user4" }
{ "_id" : ObjectId("5ad8625a16805ab661da90ea"), "name" : "user5" }

数据插入成功。

还可以写成shell脚本,

use testdb;
db.test.insert({"name":"user4"});

执行:

# mongo --port 27019 < test.sh       
MongoDB shell version v3.4.14
connecting to: mongodb://127.0.0.1:27019/
MongoDB server version: 3.4.14
switched to db testdb
WriteResult({ "nInserted" : 1 })
bye

注意:执行shell脚本和js脚本不一样的,js文件中定义了mongdb的url地址。shell脚本是将文件内容作为输入,输入到命令行。js脚本中不能使用use db_name这样的语句。

原文地址:http://blog.51cto.com/zengestudy/2105498

时间: 2024-07-30 20:54:53

MongoDB使用sh或者js文件的相关文章

shell文本处理——最基本方法压缩js文件

关于javascript代码文件的压缩在之前的文章中提到过(http://blog.csdn.net/u010487568/article/details/19701575),一般来说有三种方式: 仅压缩空白.注释等字符(最基本方法) 压缩空白.注释并替换变量名 压缩恐怖.注释.替换变量名,同时最小化文件所有的单词 最近在进一步学习shell,对这个古老的工具越发的感到高效便捷,因此对于这个主题实现了shell版本的最基本方法的实现. 主要的策略如下: 去除单行注释 去除换行符和制表符 压缩多个

关于mongorc.js文件详解

最近阅读了<<mongodb权威指南第二版>>,发现这本书比之前的第一版好,很多地方讲解很详细.下面就翻译下谈下这个文件. 首先,启动shell的时候,mongorc.js文件会被加载自动运行,如果某些脚本会频繁加载,则把它添加在这个文件里面是个好办法. 若想在启动shell的时候,显示一句欢迎语,则在文件中添加脚本即可. 1 var com = ["GoodLuck","Happy"]; 2 var index = Math.floor(M

Echarts 中国地图(包括china.js文件)

用Echarts写中国地图需要导入china.js(现在官方不提供下载,个人找的在最下面有),根据需要的效果如下.位置可以自己在option里面修改 1 <!DOCTYPE html> 2 <html> 3 <head> 4 首先,引入jquery.js echarts.js china.js(必要) 5 <script src="/jquery.js"></script> 6 <script src="ech

Node.JS 文件读写,把Sheet图集转换为龙骨动画图集

Node.JS 文件读写,把Sheet图集数据转换为龙骨动画图集数据 var fs = require("fs") var readline = require("readline"); var rl = readline.createInterface({ input:process.stdin, output:process.stdout }); var path = undefined; var dbName = undefined; rl.question(

html、css、js文件加载顺序及执行情况

今天看书,看到html,css,js加载执行情况,发现自己并不是真正的了解,网上搜了半小时依然未弄明白,就在这时我找到了让我恍然大悟的一段话,如下: HTML页面加载和解析流程 1. 用户输入网址(假设是个html页面,并且是第一次访问),浏览器向服务器发出请求,服务器返回html文件. 2. 浏览器开始载入html代码,发现<head>标签内有一个<link>标签引用外部CSS文件. 3. 浏览器又发出CSS文件的请求,服务器返回这个CSS文件. 4. 浏览器继续载入html中&

JQuery 加载 CSS、JS 文件的方法有哪些?

在进行web前端开发(http://www.maiziedu.com/course/web-px/)时,我们可能会需要使用JQuery加载一个外部的css文件或者js文件,加载外部文件的方法有多种,下面具体看看各种加载方法 JS 方式加载 CSS.JS 文件: //加载 css 文件function includeCss(filename) { var head = document.getElementsByTagName('head')[0]; var link = document.cre

Eclipse去掉对JS文件的Validation

Eclipse不去掉对JS文件的Validation,编译时会花费很长的时间,有时甚至会导致编译失败. 可以按照如下的方式去掉对JS文件的Validation. 一.window->preference->Java Script->Validator->Errors/Warnings->Enable JavaScript Sematic validation前面的勾去掉. 二.找到项目所对应的 .project 文件,在workspace项目对应的文件夹下,删除文件中的以下部

js文件如何最后加载

总结一下,大概有三种方式 1.最简单粗暴的:将js文件放在最后写 2.window.onload 当一个文档完全下载到浏览器中时,才会触发window.onload事件.这意味着页面上的全部元素对js而言都是可以操作的,也就是说页面上的所有元素加载完毕才会执行.这种情况对编写功能性代码非常有利,因为无需考虑加载的次序. 3.$(document).ready{ }: 会在DOM完全就绪并可以使用时调用.虽然这也意味着所有元素对脚本而言都是可以访问的,但是,并不意味着所有关联的文件都已经下载完毕.

关于JAVA EE项目在WEB-INF目录下的jsp页面如何访问WebRoot中的CSS和JS文件

找了这么久资料,总算解决了 感谢博客园:http://www.cnblogs.com/xsht/p/5275081.html 感谢百度:http://zhidao.baidu.com/link?url=Vz4TlygvnMyYVj105bCuzkusjF0G5rM6opHvEzhcCaJK5s1gFUZ3PBgAWCNsfY1RmtPf4ZEo8EV_Gd7SYKV4S_ 在有Struts部署的Java EE环境中,我们一般把jsp页面写在WebRoot\WEB-INF\content 目录下,