十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
最新内容会在源站更新.转载请保留原文链接: 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()
构造函数来创建一个数据库实例.
以下示例是以MongoDB在dashidan.com
默认端口运行, 并且将全局数据库变量设置为myDatabase,可以通过getDB()方法获取一个新的连接实例:
如果Mongodb连接实例设置了访问控制, 你可以通过使用db.auth()
方法来认证.
另外, 你可以通过connect()
方法链接MongoDB实例. 以下为连接到MongoDB绑定dashidan.com
非默认端口27020
的示例:
② 命令输入和通过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?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将所有的结果打印出来. 在JavaScript脚本中使用print()
或者printjson()
方法来返回JSON格式. 例: 在JavaScript中打印全部结果:
③ 写脚本
在系统命令行中, 使用mongo
来使用JavaScript.
使用--eval
选项来传入JavaScript脚本:
这个命令连接运行在dashidan.com
,绑定27017端口的mongo实例, 并将db.getCollectionNames()
方法的输出返回.
你可以直指定定一个以.js
为后缀的JavaScript文件, mongo可以直接执行.例如:
这个命令连接运行在dashidan.com
,绑定27017端口的mongo实例, 并将myjsfile.js
的运行结果返回.
另外, 你可以在JavaScript文件中通过Mongo()
构造函数来执行mongodb连接参数.参考[Opening New Connections]() 查看更多信息.
在mongo命令行中你可以通过load()
方法运行.js
文件, 例如:
这个方法加载并执行myjstest.js
文件.
load()
方法接受相对路径和绝对路径,默认为相对路径. 使用绝对路径的例子:
如果当前路径和绝对路径都找不到文件, 则改脚本不会执行.
④ 参考文章
官方文档
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。