MongoDB介绍
MongoDB
是由C++
语言编写的,是一个基于分布式文件存储的开源数据库系统。
在高负载的情况下,添加更多的节点,可以保证服务器性能。MongoDB
旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB
将数据存储为一个文档,数据结构由键值(key=>value
)对组成。MongoDB
文档类似于 JSON
对象。字段值可以包含其他文档,数组及文档数组。
如下这种结构
MongoDB命令行简单操作
假设存在数据库名称为database
并且存在一个集合为collection
集中collection
中有如下数据
[
{
"name": "Daniel",
"age": 24,
"job": "it",
"hobby": "travel"
},
{
"name": "Mike",
"age": 18,
"job": "student",
"hobby": "travel"
}
]
创建数据库或使用数据库
use database
删除数据库
db.dropDatabase()
查看数据库列表
show dbs
创建集合
执行use
操作后db.collection.opertion
没有创建集合的语法,直接对指定集合进行操作就会创建该集合查看当前数据库的集合列表
show collections
删除集合
db.collection.drop()
查找
执行
find
命令db.collection.find({ hobby: "travel" })
得到以下结果
find
命令会找到符合查询条件的所有结果
可以在后面跟上.pretty()
来让数据展示更美观。
后面跟.count()
返回查找到的数量
后面跟.sort()
返回排序后的数据
比如这样db.collection.find({ hobby: "travel" }).sort({ age: 1 })
,1
表示升序,2
降序
执行
findOne
命令db.collection.findOne({ hobby: "travel" })
findOne
只会找到符合条件的第一条
删除
执行
deleteOne
命令db.collection.deleteOne({ hobby: "travel" })
得到以下结果deleteOne
命令会删除符合查询条件的第一条数据执行
deleteMany
命令db.collection.deleteMany({ hobby: "travel" })
deleteMany
命令会删除符合查询条件的所有数据
插入
执行
insertOne
命令db.collection.insertOne({ "name": "Rick", "age": 32, "job": "teacher", "hobby": "sport" })
insertOne
命令可以添加一条数据到集合中
他有一个可选参数{ writeConcern }
,写入策略,默认为 1,即要求确认写操作,0 是不要求。执行
insertMany
命令db.collection.insertMany([
{
"name": "Jack",
"age": 12,
"job": "student",
"hobby": "watch tv"
},
{
"name": "Mary",
"age": 8,
"job": "student",
"hobby": "book"
}
])insertMany
允许同时插入多条数据到集合中
他有一个可选参数{ writeConcern, ordered }
,writeConcern意义同上,orderd表示是否按顺序写入,默认 true,按顺序写入。
更新
执行
updateOne
命令db.collection.updateOne({ "name": "Mike" }, { $set: { "age": 20 } })
updateOne
命令可以更新匹配条件的第一条数据