当前位置: 首页 > 工具软件 > mongo-hacker > 使用案例 >

mongo(四)Mongo Shell

徐鸿达
2023-12-01

Mongo shell是同Mongo数据库交互的JavaScript接口。你既可以通过mongo shell进行管理操作,也可以进行查询或者更改数据。

mongo shell是mongoDB数据库的一个组件,一旦安装并启动了mongoDB服务,可以通过Mongo shell连接运行中的Mongo实例。

启动Mongo shell:确保服务已启动,windows上分两步:
(1)打开命令窗口,并通过cd命令进入Mongo的安装目录。

(2)通过mongo命令启动:输入./bin/mongo(可加参数)回车。

如果启动Mongo shell时没有指定参数,,mongo shell默认在27017端口上连接本地主机上运行的Mongo实例。如果要指定主机与
端口号,可以使用:

mongo --username <user> --password <pass> --host <host> --port 28015

或者

mongo -u <user> -p <pass> --host <host> --port 28015

.mongorc.js文件:mongo shell启动时,mongo命令会首先检查用户目录下的一个名字为.mongorc.js的JS文件,如果找到,会在
第一时间显示提示前解读此文件。如果使用Mongo shell对一个js文件或者表达式求值,要么通过令行选项–eval,要么将一个
.js文件指定给mongo命令,mongo命令会在执行完js代码后读取.mongorc.js文件。可以通过–norc选项阻止读取.mongorc.js的
行为。

mongo shell的一些命令:

(1)db:显示当前使用的数据库

(2)use <database>:切换到指定数据库,可以是当下不存在的,而此库会在第一次插入操作时自动创建

(3)show dbs:显示所有可用数据库

(4)db.mycollection.insertOne({x:1}):向mycollection集合中插入一条数据,db指向当前数据库,mycollection为要操作的
    集合名称。

(5)如果是mongo shell不接受的集合名称,例如名字包含空格连字符,名字以数字开头,此种情况下,可以使用另一种语法如
    下:
    db["3test"].find()
    db.getCollection("3test").find()

格式化输出结果的一些方法:

(1)pretty():将结果格式化输出,用法:
    db.mycollection.find().pretty()

(2)print():不格式化输出,print(tojson(<obj>)):以JSON格式输出,用法:
    var myCursor = db.mycollection.find();
    while(myCursor.hasNext()){
        print(tojson(myCursor.next()));
    }

(3)printjson():同print(tojson(<obj>))

mongo shell支持JS代码块,如存在( { [,mongo shell会等待这些符号的闭合符号出现后才进行求值操作。要退出正在编辑的代码
块,可以输入两个空行即可。

mongo shell支持通过 上/上箭头键查询已使用的命令历史,不包括交互验证相关的命令。

mongo shell支持tab键自动补全代码或者列出可能用于补全的选项。

可以通过输入quit()或者ctrl c快捷键退出mongo shell。

 类似资料: