Python安装并操作MongoDB(含终端操作)

18 篇文章 1 订阅
10 篇文章 1 订阅

一、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}

3⃣️高级查询详情见此

5.4 删除数据

1⃣️删除集合:

col.drop()

2⃣️删除集合中所有文档:

col.delete_many({})

3⃣️删除集合中指定文档:
删除个数由查询结果而定,查询出几个则删除几个:

col.delete_many({'name':'jacccc'})

【参考文献】:
[1] MongoDB命令行操作.
[2] MongoDB条件查询(大于小于、并且或者)
[3] 菜鸟教程MongoDB.

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SL_World

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值