前言
MongoDB是一种面向文档的数据库管理系统,用C++等语言撰写而成,以解决应用程序开发社区中的大量现实问题。MongoDB由MongoDB Inc.(当时是10gen团队)于2007年10月开发,2009年2月首度推出,现以服务器端公共许可(SSPL)分发。(维基百科)
安装
添加仓库
安装社区版
1
| brew install mongodb-community
|
部分配置文件路径
configuration file
: /usr/local/etc/mongod.conf
log directory path
: /usr/local/var/log/mongodb
data directory path
: /usr/local/var/mongodb
服务
启动服务
Linux
Mac
1
| brew services start mongodb-community
|
关闭服务
1
| brew services stop mongodb-community
|
重启服务
1
| brew services restart mongodb-community
|
启动MongoDB
MongoDB和其他数据库的区别
- 数据库用
database
表示
- 集合(也就是其他数据库的数据表
table
)用collection
表示
- 字段(也就是其他数据库的字段
colum
)用field
表示
基本命令
- MongoDB的命令区分大小写
- MongoDB的命令末尾不需要分号
创建/使用数据库
- 如果没有创建则创建数据库
- 如果已经创建则进入数据库
<database_name>
:数据库名
删除数据库
查看所有数据库
创建集合并插入数据
<collection_name>
:集合名
<key>
:键
<value>
:值
1 2
| db.<collection_name>.insert({"<key>":"<value>"}) db.<collection_name>.insert({"<key_1>":"<value_1>", "<key_2>":"<value_2>"})
|
以变量的形式插入数据
<name>
:变量名
1 2
| <name>=({"<key>":"<value>"}) db.<collection_name>.insert(<name>)
|
删除集合
1
| db.<collection_name>.drop()
|
查看所有集合
查看集合内的所有数据
1
| db.<collection_name>.find()
|
以json的格式展示
1
| db.<collection_name>.find().pretty()
|
按条件查看数据
1
| db.<collection_name>.find({"<key>":"<value>"})
|
多条条件查看数据
1
| db.<collection_name>.find({"<key>":"<value>", "<key>":"<value>"})
|
1
| db.<collection_name>.find({$or:[{"<key>":"<value>"},{"<key>":"<value>"}]})
|
比较运算
<num>
:数值
大于
1
| db.<collection_name>.find({"<key>":{$gt:<num>}})
|
大于等于
1
| db.<collection_name>.find({"<key>":{$gte:<num>}})
|
小于
1
| db.<collection_name>.find({"<key>":{$lt:<num>}})
|
小于等于
1
| db.<collection_name>.find({"<key>":{$lte:<num>}})
|
等于
1 2 3
| db.<collection_name>.find({"<key>":{$eq:<num>}}) db.<collection_name>.find({"<key>":{$lt:<num>,$gte:<num>}}) db.<collection_name>.find({"<key>":{$gt:<num>,$lte:<num>}})
|
不等于
1
| db.<collection_name>.find({"<key>":{$ne:<num>}})
|
读取指定位置的数据
<num>
:指定第几条数据
1
| db.<collection_name>.find().limit(<num>)
|
跳过指定条数据后再读区指定位置的数据
1
| db.<collection_name>.find().limit(<num>).skip(<num>)
|
指定显隐条件查看数据
1
| db.<collection_name>.find({},{"<key_1>":1,"<key_2>":0})
|
排序后查看
1 2
| db.<collection_name>.find().sort({"<key>":1}) db.<collection_name>.find().sort({"<key>":-1})
|
修改数据
<key_old>
:原键
<value_old>
:原值
<key_new>
:新键
<value_new>
:新值
1
| db.<collection>.update({"<key_old>":"<value_old>"},{$set:{"<key_new>":"<value_new>"}})
|
修改多条
- 当数据库存在多条相同数据,默认只会修改第一条,如果修改所有,可以在末尾添上
,{multi:true}
1
| db.<collection>.update({"<key_old>":"<value_old>"},{$set:{"<key_new>":"<value_new>"}},{multi:true})
|
删除数据
1
| db.<collection_name>.remove({"<key>":"<value>"})
|
清空数据
1
| db.<collection_name>.remove({})
|
完成
参考文献
程序媛
掘金——古拉里
掘金——六个周
[CSDN——kalrry](https://blog.csdn.net/weixin_45406712/article/details/121235190
哔哩哔哩——图灵学院教程