mongo shell连接到mongoDB及shell提示符下执行js脚本
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                mongo shell连接到mongoDB及shell提示符下执行js脚本
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.                        
                                同mysql數(shù)據(jù)庫(kù)類似,mongoDB也可通過(guò)mongo客戶端連接到mongod服務(wù)器來(lái)進(jìn)行絕大多數(shù)日常管理。這個(gè)命令行工具就是mongo,在mysql中則是mysql。通過(guò)mongo命令可以連接到本機(jī),異機(jī),以及在linux shell或者mongo shell下執(zhí)行js腳本。本文即是對(duì)此展開(kāi)的描述。
一、mongo客戶端連接到mongoDB
//mongo連接格式 $ mongo some-host:30000/myDB //連接到本機(jī)缺省端口,缺省數(shù)據(jù)庫(kù)test C:\Users\Think>mongo MongoDB shell version: 3.2.9 connecting to: test//連接到遠(yuǎn)程主機(jī)副本集,并查看版本 C:\Users\Think>mongo 192.168.1.242:27000 MongoDB shell version: 3.2.9 connecting to: 192.168.1.242:27000/test repSetTest:PRIMARY> db.version() 3.0.12//連接到遠(yuǎn)程主機(jī)mongos C:\Users\Think>mongo 192.168.1.242:27017 MongoDB shell version: 3.2.9 connecting to: 192.168.1.242:27017/test mongos>//連接到特定的DB,端口號(hào)后加"/"及DB名 C:\Users\Think>mongo 192.168.1.242:27000/tempdb MongoDB shell version: 3.2.9 connecting to: 192.168.1.242:27000/tempdb repSetTest:PRIMARY> db tempdb//不連接任何DB,然后在提示符下進(jìn)行連接DB C:\Users\Think>mongo --nodb MongoDB shell version: 3.2.9 > db 2016-09-06T14:56:19.323+0800 E QUERY [thread1] ReferenceError: db is not defined : @(shell):1:1> conn = new Mongo("192.168.1.242:27000") connection to 192.168.1.242:27000 > db = conn.getDB("tempdb") tempdb repSetTest:PRIMARY> db tempdb//使用connect方式連接數(shù)據(jù)庫(kù) C:\Users\Think>mongo --nodb MongoDB shell version: 3.2.9 > var db=connect("192.168.1.242:27017/tempdb"); connecting to: 192.168.1.242:27017/tempdb mongos> var list=db.user.find().toArray(); mongos> printjson(list); [{"_id" : ObjectId("57cf79a7ed46066de447aac4"),"ename" : "robin"},{"_id" : ObjectId("57cf79aded46066de447aac5"),"ename" : "jerry"},{"_id" : ObjectId("57cf79b3ed46066de447aac6"),"ename" : "fred"} ]二、shell提示符下執(zhí)行js腳本
1、調(diào)用單個(gè)js腳本 # more find.js var item=db.user.find({}).toArray(); printjson(item);# mongo localhost:27000/tempdb find.js //調(diào)用時(shí)指定了主機(jī)及庫(kù)名 MongoDB shell version: 3.0.12 connecting to: localhost:27000/tempdb [{"_id" : ObjectId("57ce64c4843451f0d789a05e"),"ename" : "robin"},{"_id" : ObjectId("57ce6a940b4ef68464e67f8d"),"ename" : "fred"} ]2、同時(shí)調(diào)用多個(gè)js腳本,如下,先執(zhí)行insert.js,然后再執(zhí)行find.js # mongo localhost:27000/tempdb insert.js find.js MongoDB shell version: 3.0.12 connecting to: localhost:27000/tempdb loading file: insert.js loading file: find.js [{"_id" : ObjectId("57ce64c4843451f0d789a05e"),"ename" : "robin"},{"_id" : ObjectId("57ce6a940b4ef68464e67f8d"),"ename" : "fred"},{"_id" : ObjectId("57ce6c6aff7edaac9160fe47"),"ename" : "jack"} ]//下面在Windows環(huán)境下調(diào)用js腳本訪問(wèn)Linux下的mongodb //命令行下調(diào)用時(shí),此時(shí)未指定主機(jī)及庫(kù)名,主機(jī)及庫(kù)名在js腳本中定義 C:\Users\Think>type d:\temp\mongo_test.js var mongo=new Mongo("192.168.1.242:27017"); var db=mongo.getDB("tempdb"); var collection=db.getCollection("user"); var list= collection.find().toArray(); printjson(list);C:\Users\Think>mongo "d:\temp\mongo_test.js" MongoDB shell version: 3.2.9 connecting to: test Cannot use 'commands' readMode, degrading to 'legacy' mode [{"_id" : ObjectId("57cf79a7ed46066de447aac4"),"ename" : "robin" //Author: Leshami}, //Blog : http://blog.csdn.net/leshami {"_id" : ObjectId("57cf79aded46066de447aac5"),"ename" : "jerry"},{"_id" : ObjectId("57cf79b3ed46066de447aac6"),"ename" : "fred"} ]3、mongo提示符下執(zhí)行使用load調(diào)用js [root@node1 ~]# mongo localhost:27000 MongoDB shell version: 3.0.12 connecting to: localhost:27000/test repSetTest:PRIMARY> use tempdb switched to db tempdb repSetTest:PRIMARY> load("find.js") [{"_id" : ObjectId("57ce64c4843451f0d789a05e"),"ename" : "robin"},{"_id" : ObjectId("57ce6a940b4ef68464e67f8d"),"ename" : "fred"},{"_id" : ObjectId("57ce6c6aff7edaac9160fe47"),"ename" : "jack"} ] true4、命令提示符下直接執(zhí)行javascript方法 C:\Users\Think>mongo 192.168.1.242:27017/tempdb --eval "printjson(db.getCollectionNames())" MongoDB shell version: 3.2.9 connecting to: 192.168.1.242:27017/tempdb [ "system.indexes", "user" ]5、mongo提示符下調(diào)用系統(tǒng)命令 mongos> run("ls","-l","/home/robin") 2016-09-07T09:38:21.907+0800 I - shell: started program (sh70522): ls -l /home/robin sh70522| total 4 sh70522| -rw-r--r-- 1 root root 2 Sep 7 09:38 test.txt 0總結(jié)
以上是生活随笔為你收集整理的mongo shell连接到mongoDB及shell提示符下执行js脚本的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
                            
                        - 上一篇: 浦大喜奔app怎么查额度(汉典浦字的基本
 - 下一篇: 王者荣耀亲密度道具怎么获得