1.MongoDB shell
1.1 运行shell
启动shell命令:
mongo
结果:
shell启动之后会自动连接本地运行的MongoDB服务器端。
1.2 MongoDB客户端
查看当前指向的数据库:
db
结果:
选择需要用到的数据库:
use 数据库名称
访问集合:
db.集合名
1.3 shell基本操作
shell操作和查看数据的四种基本操作:创建、读取、更新、删除。
1.3.1 创建
首先,创建一个文档变量
变量名={键名1:值,
键名2:值,
···,
键名n:值}
利用insertOne方法将其保存到集合中
db.集合名.insertOne(变量名)
1.3.2 读取
1.3.3 更新
1.3.4 删除
2 数据类型
2.1 基本数据类型
null
null 类型用于表示空值或不存在的字段。
{"x" : null}
布尔类型
布尔类型的值可以为 true 或者 false。
{"x" : true}
数值类型
shell 默认使用 64 位的浮点数来表示数值类型。因此,下面的数值在 shell 中看起来是“正常”的:
{"x" : 3.14}
{"x" : 3}
对于整数,可以使用 NumberInt 或 NumberLong 类,它们分别表示 4 字节和 8 字节的有符号整数。
{"x" : NumberInt("3")}
{"x" : NumberLong("3")}
字符串类型
任何 UTF-8 字符串都可以使用字符串类型来表示。
{"x" : "foobar"}
日期类型
MongoDB 会将日期存储为 64 位整数,表示自 Unix 纪元(1970 年 1 月 1 日)以来的毫秒数,不包含时区信息。
{"x" : new Date()}
正则表达式
查询时可以使用正则表达式,语法与 JavaScript 的正则表达式语法相同。
{"x" : /foobar/i}
数组类型
集合或者列表可以表示为数组。
{"x" : ["a", "b", "c"]}
数组可以包含不同数据类型的元素,常规键值对支持的任何类型都可以作为数组的值。
内嵌文档
文档可以嵌套其他文档,此时被嵌套的文档就成了父文档的值。
{"x" : {"foo" : "bar"}}
Object ID
Object ID 是一个 12 字节的 ID,是文档的唯一标识。
{"x" : ObjectId()}
二进制数据
二进制数据是任意字节的字符串,不能通过 shell 操作。如果要将非 UTF-8 字符串存入数据库,那么使用二进制数据是唯一的方法。
代码
MongoDB 还可以在查询和文档中存储任意的 JavaScript 代码:
{"x" : function() { /* ... */ }}
3 使用MongoDB Shell
shell 可以连接到机器可以访问的任何 MongoDB 实例。要想连接到其他机器或端口上的 mongod,需要在启动 shell 时指定主机名、端口和数据库:
mongo 主机名:端口号/数据库名
如果使用 --nodb 参数启动shell,那么它在启动时就不会连接任何数据库。启动之后,可以在需要时运行new Mongo()连接到mongod:
conn=new Mongo("主机名:端口号")
db=conn.getDB("数据库名")