日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

mongo shell连接到mongoDB及shell提示符下执行js脚本

發布時間:2023/12/31 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mongo shell连接到mongoDB及shell提示符下执行js脚本 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

同mysql數據庫類似,mongoDB也可通過mongo客戶端連接到mongod服務器來進行絕大多數日常管理。這個命令行工具就是mongo,在mysql中則是mysql。通過mongo命令可以連接到本機,異機,以及在linux shell或者mongo shell下執行js腳本。本文即是對此展開的描述。

一、mongo客戶端連接到mongoDB

//mongo連接格式 $ mongo some-host:30000/myDB //連接到本機缺省端口,缺省數據庫test C:\Users\Think>mongo MongoDB shell version: 3.2.9 connecting to: test//連接到遠程主機副本集,并查看版本 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//連接到遠程主機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,端口號后加"/"及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,然后在提示符下進行連接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方式連接數據庫 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提示符下執行js腳本

1、調用單個js腳本 # more find.js var item=db.user.find({}).toArray(); printjson(item);# mongo localhost:27000/tempdb find.js //調用時指定了主機及庫名 MongoDB shell version: 3.0.12 connecting to: localhost:27000/tempdb [{"_id" : ObjectId("57ce64c4843451f0d789a05e"),"ename" : "robin"},{"_id" : ObjectId("57ce6a940b4ef68464e67f8d"),"ename" : "fred"} ]2、同時調用多個js腳本,如下,先執行insert.js,然后再執行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環境下調用js腳本訪問Linux下的mongodb //命令行下調用時,此時未指定主機及庫名,主機及庫名在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提示符下執行使用load調用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、命令提示符下直接執行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提示符下調用系統命令 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

總結

以上是生活随笔為你收集整理的mongo shell连接到mongoDB及shell提示符下执行js脚本的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。