一、MongoDB的下载与安装(Mac OS)
$ brew install mongodb
二、配置并启动MongoDB服务
本机用户名可通过$ whoami
获取
$ sudo mkdir -p /data/db // MongoDB默认数据存储路径,故需要提前手动建好
$ sudo chown -R <本机用户名> /data/db
$ mongod // 启动服务
看到如下结果,表示服务启动成功了:
2017-10-07T12:02:03.228+0800 I NETWORK [thread1] waiting for connections on port 27017
2017-10-07T12:02:55.771+0800 I NETWORK [thread1] connection accepted from 127.0.0.1:56321 #1 (1 connection now open)
可能出现的问题:对于mac已更新到Catalina版本情况,根文件夹不再可写,因此无法在根目录下创建/data/db
目录。此时需要改写数据存储路径,如改写路径为/usr/local/mongodb/data/db/
,则启动服务命令需修改为:
$ sudo mkdir -p /usr/local/mongodb/data/db // MongoDB默认数据存储路径,故需要提前手动建好
$ sudo chown -R <本机用户名> /usr/local/mongodb/data/db
$ mongod --dbpath=/usr/local/mongodb/data/db // 启动服务
2.1 开启MongoDB服务
$ mongod // 或如下
$ mongod --dbpath=/usr/local/mongodb/data/db
成功后点击http://127.0.0.1:27017/可看到如下界面。
2.2 关闭MongoDB服务
在服务开启窗口,连按两下Ctrl+C
2.3 修改数据库存储路径
$ mongod --dbpath <路径>
2.4 在终端中进入MongoDB数据库
首先,启动MongoDB服务(见2.1)。然后新建一个终端,在里面输入:
$ mongo
MongoDB shell version v4.0.3
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 4.0.3
//...
>
三、基本MongoDB终端操作命令
3.0 登录和退出
$ mongo <Remote_IP> // 若不加参数,默认本地数据库
$ mongo localhost
$ mongo 127.0.0.1
> exit
3.1 查看当前数据库
> show dbs
3.2 数据库的新建及切换
> use <db_name>
如果没有该数据库,则会新建一个数据库。不过初始新建数据库后不显示,只有等插入一条数据后才能显示。 示例如下:
如果有当前数据库,则切换到该数据库中。db
代表当前使用的数据库。这样,db
就从原来的db_1
,变为现在的db_2
数据库。
3.3 查看当前数据库的集合(对应关系型数据库中的表)
> show collections
3.4 删除当前数据库
> db.dropDatabase()
3.5 新建集合(=新建表)
> db.createCollection('info')
// 或向不存在的集合插入数据,也会自动创建该集合
> db.info.insert({'num':2})
3.6 删除集合
> db.info.drop()
true // 表示删除集合成功,若删除一个不存在的集合则会返回false.
3.7 重命名collection
将table_1
集合重命名为tbe_1
:
> db.table_1.renameCollection('tbe_1')
{ "ok" : 1 }
3.8 插入数据
向tbe_1
集合中插入一条数据:
> db.tbe_1.insert({'name':''marry','age':'23'})
向tbe_1
集合中插入多条数据,使用列表实现:
> db.tbe_1.insert([{'name':'marry','age':'26'},{'name':'son','age':'13'}])
3.9 查找集合中所有记录
查找tbe_1
集合所有记录:
> db.tbe_1.find()
{ "_id" : ObjectId("5d52d751cfd846a9cf1dc1ee"), "name" : "jack", "age" : "24" }
{ "_id" : ObjectId("5d52e177fac457b7110bb9b1"), "name" : "marry", "age" : "23" }
3.10 删除集合中所有记录
删除tbe_1
集合所有记录:
> db.tbe_1.remove()
四、在Pycharm安装MongoDB插件
1.点击Pycharm -> Preferences
2.左侧选择Plugins
3.搜索Mongo Plugin
,选择右侧的Install
4.安装完成后Install会变成Restart PyCharm,点击重启
5.选中菜单栏的View -> Tool Buttons
6.在PyCharm的右边栏可以看到Mongo Explorer
,点击展开,点击加号➕添加
7.随便写个名称,点击OK
五、在Pycharm中操作MongoDB
首先,一样$ mongod
打开MongoDB服务。
5.1 新建数据库和集合
先根据IP
和端口号连接数据库,然后新建数据库test1
交给实例db
,再新建一个集合collect_1
。
from pymongo import MongoClient
client = MongoClient('127.0.0.1', 27017)
db = client.test1 # 或 db = client['test1']
col = db.collect_1 # 或 col = db['collect_1']
5.2 插入数据
使用insert_one
插入字典类型数据,使用insert_many
可以插入一条或多条记录,使用列表实现。
col.insert_one({'name':'jacccc', 'age':33})
col.insert_many([{'name':'aaaaa', 'age':22}, {'name':'bbb', 'age':44}])
// insert_many插入一条记录
col.insert_many([{'name':'aaaaa', 'age':22}])
5.3 查询数据
1⃣️查询集合中的所有数据:
for i in col.find():
print(i)
// 执行结果
{'_id': ObjectId('5d52ea6fec140659bde72b32'), 'name': 'marry', 'age': 23}
{'_id': ObjectId('5d52eb604475e14db18a112b'), 'name': 'jacccc', 'age': 33}
{'_id': ObjectId('5d52ec3aea4c06f9a7812dc1'), 'name': 'aaaaa', 'age': 22}
2⃣️查询集合中指定数据:
for i in col.find({'name':'aaaaa'}):
print(i)
// 执行结果
{'_id': ObjectId('5d52ec3aea4c06f9a7812dc1'), 'name': 'aaaaa', 'age': 22}
5.4 删除数据
1⃣️删除集合:
col.drop()
2⃣️删除集合中所有文档:
col.delete_many({})
3⃣️删除集合中指定文档:
删除个数由查询结果而定,查询出几个则删除几个:
col.delete_many({'name':'jacccc'})
【参考文献】:
[1] MongoDB命令行操作.
[2] MongoDB条件查询(大于小于、并且或者)
[3] 菜鸟教程MongoDB.