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 ...
随机推荐
- Java的内省机制
我现在的理解就是,Java的内省机制就是针对JavaBean的,可以获取到类的属性名称,以及属性的Getter和Setter方法,应该是在写框架的时候才会用到内省机制,还有一个地方可以用到内省机制,就 ...
- JDBC-Batch 批量执行
JDBC 批处理 SQL 语句 首先在 jdbc 的 url 中加上 rewriteBatchedStatements=true,只有开启了这个 Mysql 才会执行批处理,否则还是一条一条执行 St ...
- JAVA核心技术I---JAVA基础知识(工具类Arrays和Collections类)
一:工具类 –不存储数据,而是在数据容器上,实现高效操作 • 排序 • 搜索 –Arrays类 –Collection类 二:Arrays类(处理数组) (一)基本方法 –排序:对数组排序, sort ...
- vue离开页面销毁定时器
beforeDestroy() { if(this.timer) { clearInterval(this.timer); //关闭 } //利用vue的生命周期函数 vue 是单页面应用,路由切换 ...
- HDU - 3642 Get The Treasury(线段树求体积交)
https://cn.vjudge.net/problem/HDU-3642 题意 求立方体相交至少3次的体积. 分析 三维的呢..首先解决至少覆盖三次的问题.则用三个标记,更新时的细节要注意. 注意 ...
- 前端基础之JavaScript - day14
写在前面 上课第14天,打卡: 唯心不易,坚持! 参考:http://www.cnblogs.com/yuanchenqi/articles/6893904.html 前言 一个完整的 JavaScr ...
- MyEclipse2017 隐藏回车换行符
Preferences->Text Editor->Show Whitespace characters(configure visibility)->Transparency Le ...
- 【Linux】排序命令sort
很多时候,我们都会去计算一次数据里头的相同型态的数据总数,举例来说, 使用 last 可以查得这个月份有登陆主机者的身份.那么我可以针对每个使用者查出他们的总登陆次数吗? 此时就得要排序与计算之类的命 ...
- getaddrinfo函数
一.功能 对于IPv4和IPv6均适用,可以处理名字到地址以及服务到端口这两种变换,返回的是一个sockaddr结构而不是一个地址队列 二.函数原型 #include <netdb.h> ...
- mongodb 添加字段并设置默认值
db.doc名称.update({}, {$set: {新字段名称: 默认值}}, false, true) 如:db.fly_bill.update({}, {$set: {usableStatus ...