pymongo模块是python操作mongo数据的第三方模块,记录一下自己常用到的简单用法。

首先需要连接数据库:

MongoClient():该方法第一个参数是数据库所在地址,第二个参数是数据库所在的端口号

authenticate():该方法第一个参数是数据库的账号,第二个参数是数据库的密码

from pymongo import MongoClient    

conn = MongoClient('数据库所在地址', 端口号)
db_name = conn.tech_stargate
db_name.authenticate("数据库账号", "数据库密码")
user = db_name.userModel

第一行代码表示连接数据库服务器,并创建相应的对象,其中端口号必须是数字。

第二行代码表示创建想要连接数据库的对象。tech_stargate是想要连接的数据库名

第三行代码表示连接该数据库。

第四行代码表示创建想要操作的数据库表的对象。

新增:

insert():该方法用来新增,把需要新增的数据以dict形式传入

add = {'字段名':'字段值','字段名1':'字段值1'}
user.insert(add)

把需要新增的数据,按照数据库字段,依次填好,然后调用insert()传进去就行了

修改:

update():该方法用来修改,需要传入两个参数,第一个参数是查询条件,用来定位修改哪条数据,第二个参数是需要修改的内容

user.update({'phoneNo':'xxxxx'},{'$set':{'想要修改的字段名':'对应的值'}})

表示用phoneNo字段,也就是手机号来定位要修改该表的哪一条数据。

查询:

find():该方法可用来查询数据,不传参表示查询所有数据。也可以传入一个dict作用查询条件,键是字段名,值是具体字段值,一般find()方法通过for循环使用。

find()方法返回的内容以dict的形式,既键是字段名,值是具体字段值,返回数据库中的一行数据

for i in user.find():
print(i)#打印所有数据
print(i['phoneNo'])#打印所有数据中,字段为phoneNo的值

这样代码表示查询该表所有数据。

既然返回的是dict,如果只想要某个字段,可以通过键来获取值。

for i in user.find({'phoneNo':'xxxx'}):
print(i)

这是有查询条件的查询。会返回该表中,字段是phoneNo,字段值是对应值的,那一行的数据

删除:

remove():该方法以dict形式传入需要删除内容的条件,不传貌似是全删,没试过。

user.remove({'phoneNo':'xxxxx'})

比如删除该表中,phoneNo是xxxxx的改行数据

Python3学习笔记34-pymongo模块的更多相关文章

  1. Python3学习笔记(urllib模块的使用)转http://www.cnblogs.com/Lands-ljk/p/5447127.html

    Python3学习笔记(urllib模块的使用)   1.基本方法 urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None,  ...

  2. Python3学习笔记(urllib模块的使用)

    转载地址:https://www.cnblogs.com/Lands-ljk/p/5447127.html 1.基本方法 urllib.request.urlopen(url, data=None,  ...

  3. 【转】Python3学习笔记(urllib模块的使用)

    原文地址:https://www.cnblogs.com/Lands-ljk/p/5447127.html 1.基本方法 urllib.request.urlopen(url, data=None,  ...

  4. python3学习笔记(7)_listComprehensions-列表生成式

    #python3 学习笔记17/07/11 # !/usr/bin/env python3 # -*- conding:utf-8 -*- #通过列表生成式可以生成格式各样的list,这种list 一 ...

  5. python3学习笔记(6)_iteration

    #python3 学习笔记17/07/10 # !/usr/bin/env python3 # -*- coding:utf-8 -*- #类似 其他语言的for循环,但是比for抽象程度更高 # f ...

  6. Python3学习笔记 - 准备环境

    前言 最近乘着项目不忙想赶一波时髦学习一下Python3.由于正好学习了Docker,并深深迷上了Docker,所以必须趁热打铁的用它来创建我们的Python3的开发测试环境.Python3的中文教程 ...

  7. python3学习笔记(5)_slice

    #python3 学习笔记17/07/10 # !/usr/bin/env python3 # -*- coding:utf-8 -*- #切片slice 大大简化 对于指定索引的操作 fruits ...

  8. python自动化测试学习笔记-5常用模块

    上一次学习了os模块,sys模块,json模块,random模块,string模块,time模块,hashlib模块,今天继续学习以下的常用模块: 1.datetime模块 2.pymysql模块(3 ...

  9. Python3学习笔记01-环境安装和运行环境

    最近在学习Python3,想写一些自己的学习笔记.方便自己以后看,主要学习的资料来自菜鸟教程的Python3教程和廖雪峰官方网站的Python教程. 1.下载 1)打开https://www.pyth ...

随机推荐

  1. centos 7.2 部署并升级gitlab

    事由: 老git服务器centos 7.2上的git版本是8.13.5,先特在一台测试机centos 7.2上安装git 8.13.5 后,还原git后,在对测试服务器上git进行升级操作. 测试服务 ...

  2. java io系列11之 FilterOutputStream

    FilterOutputStream 介绍 FilterOutputStream 的作用是用来“封装其它的输出流,并为它们提供额外的功能”.它主要包括BufferedOutputStream, Dat ...

  3. tomcat如何访问非webapp下的资源文件

    只要在%tomcathome%\conf\server.xml文件,在标签中加入文件中加入如下代码即可: <Host name="localhost" appBase=&qu ...

  4. windows环境配置计划任务让weblogic的servers开机启动【原】

    准备脚本 注意如果weblogic在D盘,那么以下cmd中的所有C:都要替换成D: , 因为windows需要切盘符. 启动weblogic管理服务adminServer 的文件: startAdmi ...

  5. ACM-ICPC 2018 焦作赛区网络预赛 J Participate in E-sports(大数开方)

    https://nanti.jisuanke.com/t/31719 题意 让你分别判断n或(n-1)*n/2是否是完全平方数 分析 二分高精度开根裸题呀.经典题:bzoj1213 用java套个板子 ...

  6. HDU - 4625 JZPTREE(第二类斯特林数+树DP)

    https://vjudge.net/problem/HDU-4625 题意 给出一颗树,边权为1,对于每个结点u,求sigma(dist(u,v)^k). 分析 贴个官方题解 n^k并不好转移,于是 ...

  7. HDU 6432(不连续环排列 ~)

    题意是说在长度为 n 的环排列中,按照一定的方向(顺时针或逆时针),后一个数不能仅比前一个数大 1 , n 的下一个数不能是 1 ,问这种长度为 n 且本质不同(本质不同指环上数字的相对位置不同,如 ...

  8. mongodb 添加字段并设置默认值

    db.doc名称.update({}, {$set: {新字段名称: 默认值}}, false, true) 如:db.fly_bill.update({}, {$set: {usableStatus ...

  9. C++ primer 11章关联容器

    map set multimap (关键字可重复出现) multiset 无序 unordered_map  (用哈希函数组织的map) unordered_set unordered_multima ...

  10. Linux之Ubuntu下DSL拨号上网

    可视化桌面配置方法 1.编辑连接 2.选择 增加 3.选择 DSL 4.选择 新建连接[cmcc@gx属于移动校园用户的ISP指定后缀] 6.OK 当然,还有其他拨号上网的办法: [Linux/Ubu ...