文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python实现mongodb的增删改查

2023-01-31 02:41

关注


                                                      python实现mongodb的增删改查


环境:

192.168.122.1    python

192.168.122.11  mongodb


一、安装pip,python的管理工具

官网下载: pip-18.0 

Screenshot from 2018-08-12 20-00-55.png


安装pip

[root@foundation12 pip-18.0]# python setup.py install

如下,安装成功

注:在安装pip时,下载setuptools-39.2.0.zip 解压并运行python setup.py install ,否则后面安装会有错误;


二、python连接mongodb

Python使用pymongo模块实现连接mongodb

安装PyMongo

pip install pymongo

Screenshot from 2018-08-12 22-51-09.png


三、安装python  IDE工具

官网下载  pycharm-community-2018.2.1.tar.gz

解压到指定目录下,我指定为 /usr/local/

在/bin目录下 ./pycharm.sh 开启即可;


Screenshot from 2018-08-13 10-22-53.png

注:在使用pycharm时,需要手动添加模块

file --> setting --> project interpreter  点击加号,搜索安装即可(退出:上方右键  close)


Screenshot from 2018-08-13 10-26-34.png


四、python连接操作mongodb


Screenshot from 2018-08-13 10-35-38.png

import pymongo         //导入模块

from pymongo import MongoClient

client= MongoClient('192.168.122.11', 27017)    //链接数据库主机

db = client.lh                    //连接lh数据库,没有则自动创建

my_set = db.test_set        //使用test_set集合,没有则自动创建

my_set.insert({"name":"zhangsan","age":18})   //插入数据 


验证,在mongodb服务器查看

如下,创建了库,集合,插入了数据 

Screenshot from 2018-08-13 09-40-03.png


如下,添加多条数据

users = [{"name":"lisi","age":20},{"name":"wangwu","age":23}]
my_set.insert(users)

查看

Screenshot from 2018-08-13 10-43-15.png

注:每运行一次,就会添加,并且不会覆盖之前添加的数据(如:zhangsan)


用update去更新数据

my_set.update({"name":"zhangsan"},{'$set':{"age":22}})

Screenshot from 2018-08-13 11-00-00.png

查看:

默认改变第一个张三的age;


Screenshot from 2018-08-13 11-00-27.png


(1)查询全部

for i in my_set.find():    

    print(i)

Screenshot from 2018-08-13 11-02-22.png

Screenshot from 2018-08-13 11-02-29.png

(2)查询name=zhangsan的

for i in my_set.find({"name":"zhangsan"}):
    print(i)

Screenshot from 2018-08-13 11-04-22.png

Screenshot from 2018-08-13 11-04-28.png


print(my_set.find_one({"name":"zhangsan"}))

Screenshot from 2018-08-13 11-06-09.png

Screenshot from 2018-08-13 11-06-16.png


条件查询

查询集合中age大于25的所有记录

for i in my_set.find({"age":{"$gt":20}}):    

    print(i)

Screenshot from 2018-08-13 11-36-41.png

Screenshot from 2018-08-13 12-12-16.png


删除name=lisi的全部记录

my_set.remove({'name': 'lisi'})

Screenshot from 2018-08-13 11-08-18.png

如下:lisi数据删除

Screenshot from 2018-08-13 11-08-36.png


删除name=zhangsan 的某个id的记录

id = my_set.find_one({"name":"zhangsan"})["_id"]
my_set.remove(id)

Screenshot from 2018-08-13 11-10-05.png

Screenshot from 2018-08-13 11-10-34.png


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯