mongo 127.0.0.1:27017/test --eval "printjson(db.users.findOne())" 3....在OS命令行下,运行一个js文件 mongo 127.0.0.1:27017/test userfindone.js userfindone.js 的内容: printjson(db.users.findOne...("test"); printjson(db.users.findOne()); 在命令行下运行: mongo --nodb userfindone.js 注意: 以上所有命令,如果连接的数据库是...127.0.0.1:27017 ,则,主机和端口可以省略,例如: mongo test --eval "printjson(db.users.findOne())" 在js文件中include其他js文件...例如: //utils.js function sum(a,b) { return a + b; } //dosomething.js load("utils.js"); var a = 17
js脚本进行复杂的管理 mongodb 的shell是javascript实现的,如果直接使用js实现相应的功能则显得很直观和简便。...js脚本一般会用来执行以下任务 (1)备份; (2)调度map-reduce命令; (3)离线报告,离线任务; (4)管理员定时任务; 如何运行一个js脚本 ....待运行的脚本,内容是: db.test.find().forEach(printjson); 也可以使用–eval参数 ..../mongo 127.0.0.1:3003/test –eval “db.test.find().forEach(printjson);” –eval参数后面直接跟一个js语句。...其他的一些说明 (1)通常使用两种方法打印获取到的结果: print() => 普通js printjson() => 格式化json打印,打印出来的格式会漂亮许多 (2)迭代器(iterator
tempdb"); connecting to: 192.168.1.242:27017/tempdb mongos> var list=db.user.find().toArray(); mongos> printjson...脚本 1、调用单个js脚本 # more find.js var item=db.user.find({}).toArray(); printjson(item); # mongo localhost...脚本,如下,先执行insert.js,然后再执行find.js # mongo localhost:27000/tempdb insert.js find.js MongoDB shell version...mongo.getDB("tempdb"); var collection=db.getCollection("user"); var list= collection.find().toArray(); printjson...} ] true 4、命令提示符下直接执行javascript方法 C:\Users\Think>mongo 192.168.1.242:27017/tempdb --eval "printjson
可以使用大多数js语法。 脚本执行方法 第一种: 进入shell。 输入:mongo 脚本路径。(脚本内部需要先连接数据库。)...例: mongo /Users/guoshunfa/Desktop/test.js 第二种: 进入shell。 进入mongodb控制台。输入:mongo。 选择数据库。输入:use 数据库名。...例: > use test switched to db test > load('/Users/guoshunfa/Desktop/test.js ') 语法 数据库连接相关语法 描述 语法 连接mongo...显示所有的数据库 const dbs = db.adminCommand(‘listDatabases’) 日志打印语法 描述 语法 控制台打印 print(‘显示所有的数据库:’) json形式控制台打印 printjson
main() { var demo Demo fmt.Println("demo.Name=", demo.Name) // {"Name":"","Ptr":null} printJson...(demo) var demoPtr *Demo // null printJson(demoPtr) // panic: runtime error: invalid...pointer dereference // fmt.Println(demoFunc()) var demoInterface DemoInterface // null printJson...// map[] fmt.Println("map[string]int=", m) // 0 fmt.Println(m["abc"]) // null printJson...(m) for k, e := range m { fmt.Println(k) fmt.Println(e) } } func printJson(data
Array(num).fill(' ').join(''); } 接下来,我们需要处理传入的对象,但是我不知道,他是否合法是否有循环引用 这里利用JSON携带的函数取巧处理 function printJson...这里先只考虑纯净的object和其他基础类型的值 function printJson(tObj: Object, i: number = 0) { const count = i || 0;...// 换行 加空格 给key加双引号 递归处理子对象 str += '\n' + printSpace(count + 1) + '"' + key + '"' + ' : ' + printJson...let str = ''; Object.keys(obj).forEach(key => { str += '\n' + printSpace(count + 1) + printJson...number) { return new Array(num).fill(' ').join(''); } function Editor() { let stringJson = printJson
我们还可以使用hasNext()和next()方法来执行游标 while(myCursor.hasNext()) { printjson(myCursor.next()) } 也可以使用游标的...forEach()方法来执行游标 myCursor.forEach(printjson) 在shell中,可以使用toArray()方法来迭代游标并返回数组中文档 注意:toArray()方法会完成迭代...,所以游标会耗尽 var arrdoc = myCursor.toArray() for(var i = 0;i<arrdoc.length;i++) { printjson(arrdoc[i
mycursor = db.bar.find({_id:{$lte:5}}) while(mycursor.hasNext()) { printjson...PRIMARY> var myCursor = db.user.find({id:{$gt:20}}) while (myCursor.hasNext()) { printjson...repSetTest:PRIMARY> var myCursor = db.user.find({id:{$gt:20}}) repSetTest:PRIMARY> myCursor.forEach(printjson...//如下示例,将游标返回的内容传递到数组,然后使用 printjson (documentArray[3])输出其中的元素 repSetTest:PRIMARY> var myCursor =...:{$gt:20}}) repSetTest:PRIMARY> var documentArray = myCursor.toArray(); repSetTest:PRIMARY> printjson
1 Mongo --eval “printjson(db.ken.count())”; //执行格式 执行制定文件的内容 1 命令:mongo ken.js //
编辑一个 JS,文件名为 cleanupOrphaned.js: function cleanupOrphaned(coll) { var nextKey = { }; var result;...printjson(result); nextKey = result.stoppedAtKey; } } var dbName = 'test111' db = db.getSiblingDB...mongodb/mongodb-linux-x86_64-rhel70-4.2.18/bin/mongo --port xxxxx -uroot -pxxxxxx cleanupOrphaned.js
(cursor.next); } 同样可以省略{}号 5、forEach迭代循环 db.users.find().forEach(printjson); forEach中必须传递一个函数来处理每条迭代的数据信息...(c[i]); 7、将find游标转换成数组 > var arr = db.users.find().toArray(); > printjson(arr[2]); 用toArray方法将其转换为数组... 8、定制我们自己的查询结果 只显示age <= 28的并且只显示age这列数据 db.users.find({age: {$lte: 28}}, {age: 1}).forEach(printjson...); db.users.find({age: {$lte: 28}}, {age: true}).forEach(printjson); 排除age的列 db.users.find({age: {$lte...: 28}}, {age: false}).forEach(printjson); 9、forEach传递函数显示信息 db.things.find({x:4}).forEach(function(
使用 printjson() 代替 print() 方法 var myCursor = db.users.find( { type: 2 } ); while (myCursor.hasNext())...{ printjson(myCursor.next()); } ?...使用 cursor 的 forEach() 方法 var myCursor = db.users.find( { type: 2 } ); myCursor.forEach(printjson);
(cursor.next); } 同样可以省略{}号 5、forEach迭代循环 db.users.find().forEach(printjson); forEach中必须传递一个函数来处理每条迭代的数据信息...(c[i]); 7、将find游标转换成数组 > var arr = db.users.find().toArray(); > printjson(arr[2]); 用toArray方法将其转换为数组...8、定制我们自己的查询结果 只显示age <= 28的并且只显示age这列数据 db.users.find({age: {$lte: 28}}, {age: 1}).forEach(printjson)...; db.users.find({age: {$lte: 28}}, {age: true}).forEach(printjson); 排除age的列 db.users.find({age: {$lte...: 28}}, {age: false}).forEach(printjson); 9、forEach传递函数显示信息 db.things.find({x:4}).forEach(function(x)
db.collectionName.find() 创建游标 cursor.hasNext() 是否有下一个元素 cursor.next() 取出下一个元素 比如 while(cursor.hasNext()) { printjson...(cursor.next()); } cursor.forEach(function) 循环 比如cursor.forEach(function (obj) {printjson(obj);})
(cursor.next); } 同样可以省略{}号 5、forEach迭代循环 db.users.find().forEach(printjson); forEach中必须传递一个函数来处理每条迭代的数据信息...(c[i]); 7、将find游标转换成数组 > var arr = db.users.find().toArray(); > printjson(arr[2]); 用toArray方法将其转换为数组...8、定制我们自己的查询结果 只显示age <= 28的并且只显示age这列数据 db.users.find({age: {$lte: 28}}, {age: 1}).forEach(printjson...); db.users.find({age: {$lte: 28}}, {age: true}).forEach(printjson); 排除age的列 db.users.find({age: {$lte...: 28}}, {age: false}).forEach(printjson); 9、forEach传递函数显示信息 db.things.find({x:4}).forEach(function(
: 1 } 七、游标 1:获取游标,示例如下: > var c = db.test1.find(); 2:循环游标,可以用集合的方式,示例如下: > while(c.hasNext()){ ... printjson...(c.next()); ... } 3:也可以使用forEach来循环,示例如下: > c.forEach(function(obj){ ... printjson(obj); ... }); 效果...八、存储过程 1:MongoDB的存储过程其实就是个自定义的js函数 > var addf = function(a,b){ ... return a+b; ... } > 2:使用db.system.js.save...({“_id”:名称,value:函数})存储函数; > db.system.js.save({"_id":"myF","value":addf}); 3:可以通过如下命令查看:db.system.js.find
db.myCollection.find().pretty() 此外,您可以在mongo shell使用以下更明确的打印方法: print() 打印非格式化的数据 print(tojson()) 打印json格式数据,和 printjson...() 一样 printjson() 打印json格式数据,和 print(tojson()) 一样 更多关于游标在mongo shell的操作,可以参考在mongo shell中迭代游标章节。....mongorc.js文件 开始时,MongoDB会检查用户的主目录的一个名为.mongorc.js的JavaScript文件,如果存在,会在第一次命令行提示前执行该js文件。...如果用mongo shell 执行JavaScript文件或JavaScript表达式,或者通过–eval执行,或者创建一个a.js文件执行,在这些JavaScript执行完,会执行.mongorc.js...您可以使用–norc 防止.mongorc.js被执行。 退出shell 用 quit()或者快捷键退出shell.
预备热身 Linux下快速安装MongoDB Windows平台下安装MongoDB mongoDB 启动与停止 mongo shell连接到mongoDB及shell提示符下执行js脚本...dev" ], "blog" : "http://blog.csdn.net/david" } //也可以使用输出到变量的方式,然后再printjson...来输出结果集 > var list=db.users.find().toArray(); > printjson(list) [ {
领取专属 10元无门槛券
手把手带您无忧上云