一.安装
MongoDB的官网下载地址:
安装时,注意勾选掉安装MongoDB官方的可视化工具compass,因为该工具需要联网下载安装,需要很长时间,还不一定下载成功(第一次安装了1天,一直卡在安装compass上,最后取消了,重新安装的)。
勾选掉之后,很快就可安装成功,至于compass工具可以单独下载,可以从下面链接中下载:
https://download.csdn.net/download/iamwangdadong/10289839
安装之后,MongoDB默认启动在27017端口,在安装路径下的bin目录下有mongo.exe文件,该程序相当于mysql的mysql命令用于连接数据库并进行各种操作。
二.基础
常用命令有:
db //查询当前使用的数据库
use <database> //切换数据库
show dbs //显示所有数据库
可以切换到一个不存在的数据库,当第一次向这个数据库存储数据时,MongoDB会创建这个数据库。下面的代码将会在执行insertOne()时,创建myNewDatabase数据库与myCollection集合。
use myNewDatabase
db.myCollection.insertOne( { x: 1 } );
如果一个要求新建的集合的名称包含空格、中划线、以数字开头或与内置的函数冲突,则可以使用下面这种方法:
db.getCollection("1 2").insertOne({x:1})
上面这行代码创建了一个名称为"1 2"的集合,并向其中添加了一条数据{x:1}。同样的可以进行增删改查任意操作。
MongoDB的shell最多每行4095个codepoint(?),如果语句长度超过了指定长度,shell会自动裁剪输入的语句。
db.collection.find()方法返回一个查询结果的游标。在mongo的shell中,如果返回的游标没有赋值给一个变量(使用var关键字),shell会自动迭代最多20次游标来打印出最多20个靠前的查询结果,输入it可以继续打印出剩余的条目下20条。将游标赋值给了任意变量如:
var it0 = db.collection.find({})
之后在shell中输入it0可以查看返回结果,使用print(it0)可以查看查询语句与语句作用在的数据库与集合。
Print()、print(tojson(<obj>))、printjson()的使用:
在mongo的shell中执行多行操作:Mongo的shell会在运行代码前等待闭合的parenthesis(())、闭合的brace({})、闭合的bracket([]),多行语句示例如下:
建议写多行语句时在每个语句末尾添加 分号(;),若不添加语句可以正常执行,但是通过up键获得到的历史语句被合并到了一行,此时由于没有分号,直接执行会报错,如下:
可以通过输入两个空行来退出多行模式,如下
使用tab键快速补全代码:
退出mongo的shell,使用quit()命令或ctrl+c快捷键
简单的查询:
db.mycol.find()
db.mycol.find({})
db.mycol.find({<name> :<value>,…})
db.mycol.find({<field1>:{<operator1>:<value1>},…})
db.mycol.find({name:/^hu$/})//可以使用正则表达式
operator具体参考:
https://docs.mongodb.com/manual/reference/operator/query/#query-selectors
MongoDB语句参考: