跳转至

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 为降序