python实现mongodb的增删改查


环境:

192.168.122.1    python

192.168.122.11  mongodb


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

官网下载: pip-18.0 

python实现mongodb的增删改查


安装pip

[[email protected] 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

python实现mongodb的增删改查


三、安装python  IDE工具

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

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

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


python实现mongodb的增删改查

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

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


python实现mongodb的增删改查


四、python连接操作mongodb


python实现mongodb的增删改查

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服务器查看

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

python实现mongodb的增删改查


如下,添加多条数据

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

查看

python实现mongodb的增删改查

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


用update去更新数据

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

python实现mongodb的增删改查

查看:

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


python实现mongodb的增删改查


(1)查询全部

for i in my_set.find():    

    print(i)

python实现mongodb的增删改查

python实现mongodb的增删改查

(2)查询name=zhangsan的

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

python实现mongodb的增删改查

python实现mongodb的增删改查


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

python实现mongodb的增删改查

python实现mongodb的增删改查


条件查询

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

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

    print(i)

python实现mongodb的增删改查

python实现mongodb的增删改查


删除name=lisi的全部记录

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

python实现mongodb的增删改查

如下:lisi数据删除

python实现mongodb的增删改查


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

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

python实现mongodb的增删改查

python实现mongodb的增删改查


转载于:https://blog.51cto.com/13362895/2158995

相关文章: