91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

7.mongo命令行運行JavaScript腳本

發布時間:2020-07-26 22:27:51 來源:網絡 閱讀:1391 作者:大屎蛋教程 欄目:MongoDB數據庫

7.mongo命令行運行JavaScript腳本


最新內容會在源站更新.轉載請保留原文鏈接: http://dashidan.com/article/mongodb/index.html


你可以通過在命令行寫JavaScript腳本來處理數據及管理mongodb.更多信息請查看如何使用mongo腳本中的[Running .js files via a mongo shell Instance on the Server]()部分.

本文介紹了如何通過mongo命令行中寫JavaScript腳本來連接MongoDB.

① 打開新的連接

在mongo命令行或者JavaScript文件中, 你可以通過Mongo()構造函數來創建一個數據庫實例.

new Mongo()new Mongo(<host>)new Mongo(<host:port>)

以下示例是以MongoDB在dashidan.com默認端口運行, 并且將全局數據庫變量設置為myDatabase,可以通過getDB()方法獲取一個新的連接實例:

conn = new Mongo();db = conn.getDB("myDatabase");

如果Mongodb連接實例設置了訪問控制, 你可以通過使用db.auth()方法來認證.

另外, 你可以通過connect()方法鏈接MongoDB實例. 以下為連接到MongoDB綁定dashidan.com非默認端口27020的示例:

db = connect("dashidan.com:27020/myDatabase");

② 命令輸入和通過mongo腳本操作的區別

當你寫mongo腳本的時候, 你需要考慮以下幾點:

  • 設置全局db變量, 可以通過getDB()方法或者connect()方法, 你可以將這個數據庫引用設置給其他變量.

  • Write operations in the mongo shell use a write concern of { w: 1 } by default. If performing bulk operations, use the Bulk() methods. See Write Method Acknowledgements for more information. Changed in version 2.6: Before MongoDB 2.6, call db.getLastError() explicitly to wait for the result of write operations.

  • 你無法在JavaScript文件中使用任何命令行幫助,(例如: use 

    , show dbs, etc.)因為JavaScript中不支持.以下為常用命令行幫助有JavaScript對照表:

命令行幫助JavaScript
show?dbs,?show?databasesdb.adminCommand('listDatabases')
use? db = db.getSiblingDB(' ')
show?collectionsdb.getCollectionNames()
show?usersdb.getUsers()
show?rolesdb.getRoles({showBuiltinRoles: true})
show?log? db.adminCommand({ 'getLog' : ' ' })
show?logsdb.adminCommand({ 'getLog' : '*' })
itcursor = db.collection.find() if ( cursor.hasNext() ){ cursor.next(); }
  • 在命令行交互模式中 mongo將所有的結果打印出來. 在JavaScript腳本中使用print()或者printjson()方法來返回JSON格式. 例: 在JavaScript中打印全部結果:

cursor = db.collection.find();while ( cursor.hasNext() ) {
   printjson( cursor.next() );}

③ 寫腳本

在系統命令行中, 使用mongo來使用JavaScript.

1.--eval選項

使用--eval選項來傳入JavaScript腳本:

mongo test --eval "printjson(db.getCollectionNames())"

這個命令連接運行在dashidan.com,綁定27017端口的mongo實例, 并將db.getCollectionNames()方法的輸出返回.

2.執行JavaScript文件

你可以直指定定一個以.js為后綴的JavaScript文件, mongo可以直接執行.例如:

mongo dashidan.com:27017/test myjsfile.js

這個命令連接運行在dashidan.com,綁定27017端口的mongo實例, 并將myjsfile.js的運行結果返回.

另外, 你可以在JavaScript文件中通過Mongo()構造函數來執行mongodb連接參數.參考[Opening New Connections]() 查看更多信息.

在mongo命令行中你可以通過load()方法運行.js文件, 例如:

load("myjstest.js")

這個方法加載并執行myjstest.js文件.

load()方法接受相對路徑和絕對路徑,默認為相對路徑. 使用絕對路徑的例子:

load("scripts/myjstest.js")load("/data/db/scripts/myjstest.js")
`load()`方法中路徑沒有自動查找功能

如果當前路徑和絕對路徑都找不到文件, 則改腳本不會執行.

④ 參考文章

 官方文檔



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

绍兴县| 友谊县| 玉田县| 澄迈县| 庄河市| 阜新市| 沧源| 遵义县| 甘泉县| 台山市| 临漳县| 五家渠市| 鄂尔多斯市| 两当县| 微山县| 门头沟区| 泸溪县| 白沙| 延吉市| 松桃| 大田县| 杨浦区| 哈密市| 松滋市| 新安县| 崇义县| 汕头市| 武鸣县| 贵南县| 长宁区| 盘山县| 桃园县| 蓬安县| 新乡市| 柳林县| 白朗县| 石台县| 大荔县| 敦煌市| 瑞安市| 长葛市|