- 创建数据库
//use+数据库名
>use mydb
//显示当前选定的数据库
>db
//查看当前数据库列表
>show dbs
//隐式创建集合
>db.movies.insert({"name","尖峰时刻"})
- 删除数据库
//先切换到要删除的数据库
use mydb
db.dropDatabase()
- 删除集合
db.users.drop()
- 创建集合
-创建集合的时候可以指定配置项,设置集合的基本属性
字段 | 类型 | 描述 |
---|---|---|
capped | boolean | (可选)如果为 true,则创建固定集合。固定集合是指有着固定大小的集合,当达到最大值时,它会自动覆盖最早的文档。当该值为 true 时,必须指定 size 参数。 |
autoIndexID | boolean | (可选)如为 true,自动在 _id 字段创建索引。默认为 false。 |
size | 数值 | (可选)为固定集合指定一个最大值(以字节计)。如果 capped 为 true,也需要指定该字段 |
max | 数值 | (可选)指定固定集合中包含文档的最大数量。 |
db.createCollection("movies")
db.createCollection("mycol", { capped : true, autoIndexID : true, size : 6142800, max : 10000 } )
数据类型
- String:字符串。存储数据常用的数据类型。在 MongoDB 中,UTF-8 编码的字符串才是合法的。
- Integer:整型数值。用于存储数值。根据你所采用的服务器,可分为 32 位或 64 位。
- Boolean:布尔值。用于存储布尔值(真/假)。
- Double:双精度浮点值。用于存储浮点值。-
- Min/Max keys:将一个值与 BSON(二进制的 JSON)元素的最低值和最高值相对比。
- Arrays:用于将数组或列表或多个值存储为一个键。
- Timestamp:时间戳。记录文档修改或添加的具体时间。
- Object:用于内嵌文档。
- Null:用于创建空值。
- Symbol:符号。该数据类型基本上等同于字符串类型,但不同的是,它一般用于采用特殊符号类型的语言。
- Date:日期时间。用 UNIX 时间格式来存储当前日期或时间。你可以指定自己的日期时间:创建 Date 对象,传入年月日信息。
- Object ID:对象 ID。用于创建文档的 ID。
- Binary Data:二进制数据。用于存储二进制数据。
- Code:代码类型。用于在文档中存储 JavaScript 代码。
- Regular expression:正则表达式类型。用于存储正则表达式。
文档插入
dn.movies.insert({"name","尖峰时刻"})
- 文档查询 find()
//查询集合中的所有数据
db.movies.find()
//格式化显示查询的结果集
db.movies.find().pretty()
- 条件查询
//等于
db.users.find("age":21)
//小于
db.users.find("age":{$lt:21})
//小于等于
db.users.find("age":{$lte:21})
//大于
db.users.find("age":{$gt:21})
//大于等于
db.users.find("age":{$gte:21})
//不等于
db.users.find("age":{$ne:21})
- and条件
db.user.find({"age":21,"name":"xul"})
- or条件
db.user.find({$or:[{"age":21},{"name":"xul"}]})
- and 和or条件
db.user.find({"age":21,$or:[{"name":"xul"},{"sex":"man"}]})
- 更新操作
- 基本格式
- db.user.update(query,update,upset,multi)
- query : 修改是的过滤条件
- update : 要更新的字段
- upset:未发现复合的数据,是否进行插入(true插入)
- multi:是否进行多行更新(true 多行更新)
db.user.update({"age":21},{$set:{"name":"updatetest"}},0,1)
- 删除文档
//可添加过滤条件,使用与find相同
db.user.remove()
- 映射
//映射就是只显示集合中的某些字段,1:显示,0:不显示
db.user.find({},{"age":1,"name":0})
分页
- limit() 设置要显示的条数
- skip() 设置从第几条开始显示
db.user.find().limit(1).skip(1)
排序
- sort(key:1) 指定排序字段,1:升序,-1:降序
db.user.find().sort("name":-1)