1 安装
1.1 debian
a 导入公钥
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
b 添加软件源
Debian 8 ‘Jessis’
$ echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/4.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
Debian 9 ‘Stretch’
$ echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
c 更新本地软件数据库
$ sudo apt-get update
d 安装mongodb
$ sudo apt-get install -y mongodb-org
1.2 ubuntu
1 导入公钥
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
2 添加软件源
Ubuntu 14.04
$ echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
Ubuntu 16.04
$ echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
Ubuntu 18.04
$ echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
3 更新仓库
sudo apt-get update
4 安装mongodb
$ sudo apt-get install -y mongodb-org
1.3 如何查看版本信息
$ lsb_release -a
Distributor ID: Debian
Description: Debian GNU/Linux 9.5 (stretch)
Release: 9.5
Codename: stretch
2 启动与关闭
启动
$ sudo service mongod start
检测是否启动成功
$ cat /var/log/mongodb/mongod.log | grep --color 27017
NETWORK [initandlisten] waiting for connections on port 27017
端口是在
/etc/mongod.conf
配置文件中的net.port
关闭
$ sudo service mongod stop
重启
$ sudo service mongod restart
连接到mongodb
mongo --host 127.0.0.1:27017
3 卸载
1 停止mongodb进程
sudo service mongod stop
2 删除mongodb包
sudo apt-get purge mongodb-org*
3 删除数据目录
sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongodb
4 概念对比
<colgroup><col style="width: 0px;"><col style="width: 0px;"><col style="width: 0px;"></colgroup>
|
SQL术语/概念
|
MongoDB术语/概念
|
解释/说明
|
| --- | --- | --- |
| database | database | 数据库 |
| table | collection | 数据库表/集合 |
| row | document | 数据记录行/文档 |
| column | field | 数据字段/域 |
| index | index | 索引 |
| table joins |
| 表连接,mongodb不支持 |
| primary key | primary key | 主键,mongodb自动将_id字段设置为主键 |
5 数据库操作
1 新建或切换数据库
> use DATABASE_NAME
如果数据库不存在,则创建数据库,否则切换到指定数据库。
2 查看所有的数据库
> show dbs
3 删除数据库
> db.dropDatabase() // 默认删除当前数据库
6 集合操作
1 新建collection
> db.createCollection(name, options)
2 查看已有集合
> show collections
3 删除集合
> db.collection.drop()
4 插入文档
> db.collection.insert(document)
> db.collection.insertOne({"a": 3}) #向指定集合中插入一条文档数据
> db.collection.insertMany([{"b": 3}, {'c': 4}]) #向指定集合中插入多条文档数据
5 查询
> db.collection.find(query, projection)
>db.col.find({"likes": {$gt:50}, $or: [{"by": "菜鸟教程"},{"title": "MongoDB 教程"}]}).pretty()
#类似常规 SQL 语句为: 'where likes>50 AND (by = '菜鸟教程' OR title = 'MongoDB 教程')'
6 更新文档
> db.collection.update(<query>, <update>, {
upsert: <boolean>,
multi: <boolean>,
writeConcern: <document>
})
7 删除文档
> db.collection.remove(<query>, {
justOne: <boolean>,
writeConcern: <document>
})
remove() 方法已经过时了,现在官方推荐使用 deleteOne() 和 deleteMany() 方法。
#删除 status 等于 A 的全部文档
db. COLLECTION_NAME.deleteMany({ status : "A" })
#删除 status 等于 D 的一个文档
db. COLLECTION_NAME.deleteOne( { status: "D" } )
8 limit()方法
> db.collection.find().limit(NUMBER)
9 skip()方法
> db.collection.find().limit(NUMBER).skip(NUMBER)
10 sort()方法
>db.COLLECTION_NAME.find().sort({KEY:1})
# sort() 方法可以通过参数指定排序的字段,并使用 1 和 -1 来指定排序的方式,其中 1 为升序排列,而 -1 是用于降序排列。
11 条件操作符
$gt -------- greater than >
$gte --------- gt equal >=
$lt -------- less than <
$lte --------- lt equal <=
$ne ----------- not equal !=
$eq -------- equal =
7 可视化管理软件
- studio 3t for mongodb https://studio3t.com/download/
试用感觉不错,但是收费 - nosqlbooster https://nosqlbooster.com/
功能还不错,有社区版
网友评论