Python3学习笔记34-pymongo模块
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模块的更多相关文章
- Python3学习笔记(urllib模块的使用)转http://www.cnblogs.com/Lands-ljk/p/5447127.html
Python3学习笔记(urllib模块的使用) 1.基本方法 urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, ...
- Python3学习笔记(urllib模块的使用)
转载地址:https://www.cnblogs.com/Lands-ljk/p/5447127.html 1.基本方法 urllib.request.urlopen(url, data=None, ...
- 【转】Python3学习笔记(urllib模块的使用)
原文地址:https://www.cnblogs.com/Lands-ljk/p/5447127.html 1.基本方法 urllib.request.urlopen(url, data=None, ...
- python3学习笔记(7)_listComprehensions-列表生成式
#python3 学习笔记17/07/11 # !/usr/bin/env python3 # -*- conding:utf-8 -*- #通过列表生成式可以生成格式各样的list,这种list 一 ...
- python3学习笔记(6)_iteration
#python3 学习笔记17/07/10 # !/usr/bin/env python3 # -*- coding:utf-8 -*- #类似 其他语言的for循环,但是比for抽象程度更高 # f ...
- Python3学习笔记 - 准备环境
前言 最近乘着项目不忙想赶一波时髦学习一下Python3.由于正好学习了Docker,并深深迷上了Docker,所以必须趁热打铁的用它来创建我们的Python3的开发测试环境.Python3的中文教程 ...
- python3学习笔记(5)_slice
#python3 学习笔记17/07/10 # !/usr/bin/env python3 # -*- coding:utf-8 -*- #切片slice 大大简化 对于指定索引的操作 fruits ...
- python自动化测试学习笔记-5常用模块
上一次学习了os模块,sys模块,json模块,random模块,string模块,time模块,hashlib模块,今天继续学习以下的常用模块: 1.datetime模块 2.pymysql模块(3 ...
- Python3学习笔记01-环境安装和运行环境
最近在学习Python3,想写一些自己的学习笔记.方便自己以后看,主要学习的资料来自菜鸟教程的Python3教程和廖雪峰官方网站的Python教程. 1.下载 1)打开https://www.pyth ...
随机推荐
- python 线程(创建2种方式,锁,死锁,递归锁,GIL锁,守护进程)
###############总结############ 线程创建的2种方式(重点) 进程:资源分配单位 线程:cpu执行单位(实体) 线程的创建和销毁的开销特别小 线程之间资源共享,是同一个 ...
- Kafka技术内幕 读书笔记之(三) 消费者:高级API和低级API——消费者消费消息和提交分区偏移量
消费者拉取钱程拉取每个分区的数据,会将分区的消息集包装成一个数据块( FetchedDataChunk )放入分区信息的队列中 . 而每个队列都对应一个消息流( KafkaStream ),消费者客户 ...
- 使用 python -m SimpleHTTPServer 快速搭建http服务
摘要: 在 Linux 服务器上或安装了 Python 的机器上,可以使用 nohup python -m SimpleHTTPServer [port] & 快速搭建一个http服务. 在 ...
- ubuntu linux下建立stm32开发环境: 程序烧录 openocd+openjtag
原文出处: http://blog.csdn.net/embbnux/article/details/17619621 之前建立stm32开发环境,程序也已经编译好生成main.bin,接下来就是要把 ...
- IO流----操作文件的9种方法代码实现
IO流----操作文件的9种方法代码实现: 1:使用字节流读写数据: 四种方式: method1: 每次读写一个字节,边读边写: /* * 复制文本文件. * * 数据源:从哪里来 ...
- 服务器部署全程记录(centos6.5)
1.安装nginx 上传安装包:put E:\yz_index\installPackage\nginx-1.14.0.tar.gz 解压:tar zxvf nginx-1.14.0.tar.gz 切 ...
- List<string>序列化与反序列化一个小坑
Newtonsoft序列化与反序列化有两个重载方法,带<T>和不带<T>的 如果将一个List<String>序列化为jsonStr后,再反序列化,会变成JArra ...
- Spring 快速开始 Profile 和 Bean
和maven profile类似,Spring bean definition profile 有两个组件:声明和激活. [栗子:开发测试环境使用HyperSQL 生产环境使用JNDI上下文根据配置查 ...
- 【刷题记录】BZOJ-USACO
接下来要滚去bzoj刷usaco的题目辣=v=在博客记录一下刷题情况,以及存一存代码咯.加油! 1.[bzoj1597][Usaco2008 Mar]土地购买 #include<cstdio&g ...
- 20155324 2016-2017-2 《Java程序设计》第4周学习总结
20155324 2016-2017-2 <Java程序设计>第4周学习总结 教材学习内容总结 继承 面对对象中,子类继承父类,避免重复定义行为就使用继承.在Java中,继承时使用exte ...