MongoDB 基础
命令
终端命令
# 进入 MongoDB 命令
mongodb
数据库
# 创建数据库
# 如果数据库已存在会切换到此数据库进行操作
use 数据库名
# 显示全部数据库 数据库内需要有数据才会显示
show dbs
# 当前操作到数据库
db
# 删除当前操作的数据库
db.dropDatabase()
集合
一般不需要主动创建集合 插入数据时会自动创建
# 创建集合
db.createCollection('集合名')
# 显示集合
show tables
show collections
# 删除集合
db.集合名.drop()
条件语句
关键字 | 描述 |
---|---|
lt | 小于 |
lte | 小于或等于 |
gt | 大于 |
gte | 大于或等于 |
ne | 不等于 |
or | 或 |
type | 类型 |
查询
# 查看集合内的数据
db.集合名.find(条件)
# 只返回一条数据
db.集合名.findOne(条件)
# 格式化显示
db.集合名.find().pretty()
# 查询全部
db.集合名.find()
# 查询 'by' 是 '菜鸟教程' 'title' 是 'MongoDB 教程' 的数据
db.集合名.find({'by':'菜鸟教程', 'title':'MongoDB 教程'})
# likes为大于50 并且 ['by' 为 '菜鸟教程' 或 'title' 为 'MongoDB 教程']
db.集合名.find({'likes': {$gt:50}, $or: [{'by': '菜鸟教程'},{"title": 'MongoDB 教程'}]})
# title 值为 string 的数据
db.集合名.find({"title" : {$type : 'string'}})
limit
返回数量
db.集合名.find().limit(数量)
skip
跳过数量
db.集合名.find().skip(数量)
sort
排序
db.集合名.find().sort({'age': 1})
1 为升序
-1 为降序
插入数据
如果集合不存在会自动创建集合
# 插入一个
db.集合名.insertOne(数据)
# 插入多个
db.集合名.insertMany([数据,数据,数据])
更新
# 更新
db.集合名.update(条件, 更新操作, 参数1, 参数2)
参数1 默认 false 如果不存在是否插入
参数2 默认 false 是否更新全部数据
删除
# 删除
db.集合名.remove(条件, 参数1)
参数1 默认 false 删除全部, true 只删除一个, 也可以指定删除的数量
# 删除标题为 MongoDB教程 的数据
db.集合名.remove({'title':'MongoDB教程'})
# 删除这个集合的全部数据
db.集合名.remove({})
语法
# 将数据定义成变量
名称 = (数据);
索引
提升查询的速度, 排序数据
db.集合名.createIndex({'title':1, 'description':-1})
1 为升序
-1 为降序