最新內(nèi)容會在源站更新.轉(zhuǎn)載請保留原文鏈接: http://dashidan.com/article/mongodb/index.html
十年專注成都網(wǎng)站制作,成都定制網(wǎng)頁設(shè)計,個人網(wǎng)站制作服務(wù),為大家分享網(wǎng)站制作知識、方案,網(wǎng)站設(shè)計流程、步驟,成功服務(wù)上千家企業(yè)。為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計及定制高端網(wǎng)站建設(shè)服務(wù),專注于成都定制網(wǎng)頁設(shè)計,高端網(wǎng)頁制作,對花箱等多個行業(yè),擁有豐富的網(wǎng)站推廣經(jīng)驗。你可以通過在命令行寫JavaScript腳本來處理數(shù)據(jù)及管理mongodb.更多信息請查看如何使用mongo腳本中的[Running .js files via a mongo shell Instance on the Server]()部分.
本文介紹了如何通過mongo命令行中寫JavaScript腳本來連接MongoDB.
① 打開新的連接
在mongo命令行或者JavaScript文件中, 你可以通過Mongo()
構(gòu)造函數(shù)來創(chuàng)建一個數(shù)據(jù)庫實例.
以下示例是以MongoDB在dashidan.com
默認端口運行, 并且將全局數(shù)據(jù)庫變量設(shè)置為myDatabase,可以通過getDB()方法獲取一個新的連接實例:
如果Mongodb連接實例設(shè)置了訪問控制, 你可以通過使用db.auth()
方法來認證.
另外, 你可以通過connect()
方法鏈接MongoDB實例. 以下為連接到MongoDB綁定dashidan.com
非默認端口27020
的示例:
② 命令輸入和通過mongo腳本操作的區(qū)別
當你寫mongo腳本的時候, 你需要考慮以下幾點:
設(shè)置全局db
變量, 可以通過getDB()
方法或者connect()
方法, 你可以將這個數(shù)據(jù)庫引用設(shè)置給其他變量.
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?databases | db.adminCommand('listDatabases') |
use? | db = db.getSiblingDB(' ') |
show?collections | db.getCollectionNames() |
show?users | db.getUsers() |
show?roles | db.getRoles({showBuiltinRoles: true}) |
show?log? | db.adminCommand({ 'getLog' : ' ' }) |
show?logs | db.adminCommand({ 'getLog' : '*' }) |
it | cursor = db.collection.find() if ( cursor.hasNext() ){ cursor.next(); } |
在命令行交互模式中 mongo將所有的結(jié)果打印出來. 在JavaScript腳本中使用print()
或者printjson()
方法來返回JSON格式. 例: 在JavaScript中打印全部結(jié)果:
③ 寫腳本
在系統(tǒng)命令行中, 使用mongo
來使用JavaScript.
使用--eval
選項來傳入JavaScript腳本:
這個命令連接運行在dashidan.com
,綁定27017端口的mongo實例, 并將db.getCollectionNames()
方法的輸出返回.
你可以直指定定一個以.js
為后綴的JavaScript文件, mongo可以直接執(zhí)行.例如:
這個命令連接運行在dashidan.com
,綁定27017端口的mongo實例, 并將myjsfile.js
的運行結(jié)果返回.
另外, 你可以在JavaScript文件中通過Mongo()
構(gòu)造函數(shù)來執(zhí)行mongodb連接參數(shù).參考[Opening New Connections]() 查看更多信息.
在mongo命令行中你可以通過load()
方法運行.js
文件, 例如:
這個方法加載并執(zhí)行myjstest.js
文件.
load()
方法接受相對路徑和絕對路徑,默認為相對路徑. 使用絕對路徑的例子:
如果當前路徑和絕對路徑都找不到文件, 則改腳本不會執(zhí)行.
④ 參考文章
官方文檔
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。