数据库---mongoDB基本使用
mongoDB使用
数据格式
示例:
1 | {title: 'MongoDB 教程', |
使用{}包裹,每个键值对用逗号分隔,最后一个键值对后不能有逗号。
字符串用’’包裹,数字不用,数组用[]包裹,可以为字符串数组。
数据库管理
显示数据库
1
2
3
4> show dbs
leanote 0.078GB
local 0.078GB创建数据库
1
2
3# 不存在则创建,否则切换到指定数据库
use 数据库名删除数据库
1
db.dropDatabase()
集合管理
集合就是 MongoDB 中最小的单位,类似关系型数据库中表的概念。
显示集合
1
2
3> show collections
或者
> show tables创建集合
1
2
3
4db.createCollection(name, options) // 集合名字,options可选
或者
db.COLLECTION_NAME.insert({"键值名":"键值"}) // 插入一条记录(集合不存在则自动创建)删除集合
1
2db.COLLECTION_NAME.drop() // 删除集合name
插入数据
1
2
3
4
5
6
7
8db.COLLECTION_NAME.insert(document)
或
db.COLLECTION_NAME.save(document)
示例:
db.COLLECTION_NAME.insert({title: 'MongoDB 教程',
tags: ['mongodb', 'database', 'NoSQL'],
likes: 100
})查询数据
1
2
3
4db.COLLECTION_NAME.find() // 查询所有数据
db.COLLECTION_NAME.find().pretty() // 格式化输出
db.COLLECTION_NAME.find({key1:value1, key2:value2}) //查询指定条件的数据删除数据
1
2
3
4db.COLLECTION_NAME.remove(匹配内容) // 删除所有符合条件的文档
示例:
db.COLLECTION_NAME.remove({title: 'MongoDB 教程'}) // 删除title为MongoDB 教程的文档更新数据
1
2
3
4db.COLLECTION_NAME.update(查询条件,更新内容) // 更新所有符合条件的文档
示例:
db.COLLECTION_NAME.update({title: 'MongoDB 教程'}, {$set: {likes: 10}}) // 更新likes为10
操作符
条件操作符
1
2
3
4
5
6
7
8
9
10
11$lt 小于
$lte 小于等于
$gt 大于
$gte 大于等于
$ne 不等于
$in 包含
$nin 不包含
示例:
db.COLLECTION_NAME.find({likes: {$lt: 10}}) // 查询likes小于10的数据逻辑操作符
1
2
3
4
5
6
7
8$or 或
$and 与
$not 非
$nor 非或
示例:
db.COLLECTION_NAME.find({$or: [{likes: 10}, {title: 'MongoDB 教程'}]
}) // 查询likes等于10或title为MongoDB 教程的数据数组操作符
1
2
3
4
5$all 匹配数组中多个值
$size 匹配数组大小
$slice 数组切片
示例:
db.COLLECTION_NAME.find({tags: {$all: ['mongodb', 'database']}}) // 查询tags包含mongodb和database的数据更新操作符
1
2
3
4
5
6
7
8
9
10
11
12
13
14$set 设置字段
$unset 删除字段
$inc 增加字段
$rename 重命名字段
$push 追加数组
$pop 删除数组
$pull 删除数组中指定值
$bit 位操作
$min 最小值
$max 最大值
$currentDate 当前日期
$addToSet 添加数组
示例:
db.COLLECTION_NAME.update({title: 'MongoDB 教程'}, {$set: {likes: 10}}) // 更新likes为10待续