首页 > 编程语言 >Python第三方模块:pymongo模块的用法

Python第三方模块:pymongo模块的用法

时间:2023-06-18 15:58:04浏览次数:41  
标签:Python 数据 数据库 查询 user 模块 pymongo find phoneNo

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)#Python小白学习交流群:711312441

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

删除:

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

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

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

标签:Python,数据,数据库,查询,user,模块,pymongo,find,phoneNo
From: https://www.cnblogs.com/djdjdj123/p/17489219.html

相关文章

  • python下载文件的三种方法
    Python开发中时长遇到要下载文件的情况,最常用的方法就是通过Http利用urllib或者urllib2模块,此外Python还提供了另外一种方法requests。下面来看看三种方法是如何来下载文件的:方法一:importurllibprint("downloadingwithurllib")url='http://download.redis.io/releases......
  • Python调用外部系统命令
    利用Python调用外部系统命令的方法可以提高编码效率。调用外部系统命令完成后可以通过获取命令执行返回结果码、命令执行的输出结果进行进一步的处理。本文主要描述Python常见的调用外部系统命令的方法,包括os.system()、os.popen()、subprocess.Popen()等。本文分析python调用外......
  • python: object
    """Peson.py人类类edit:ide:date:"""classHuman(object):"""人类类"""#限制对象属性只能是SLOTS里面的变量名对象绑定属性,不用先定义属性#__slots__=('sage','sname','sfrom......
  • 【雕爷学编程】Arduino动手做(115)---HB100多普勒雷达模块
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞......
  • day00 python开发目录
    课程安排day01环境搭建和基础入门day02python基础day03数据类型day04数据类型和函数day05函数day06函数进阶day07模块day08模块和面向对象day09模块和面向对象day10模块和面向对象day11前端开发day12前端开发day13前端开发day14MySQL数据库day15......
  • Python 基础
    Python的布尔类型flag=TrueandFalseprint('flag:',flag)#flag:Falseflag=TrueorFalseprint('flag:',flag)#flag:Trueflag=notFalseprint('flag:',flag)#flag:TruePython的字符串formattemplate='Hello{}&#......
  • [pybind11]为c++项目写python API接口
    C++项目的pybind方法有哪些?有什么区别?以下是主要的python绑定cpp的方法:方法年份代表用户适用于CPython的C/C++扩展模块1991标准库PyBind11(推荐用于C++)2015Cython(推荐用于C)2007gevent、kivyHPy2019mypyc2017ctype2003oscryptocffi......
  • Loguru:优雅的日志管理模块
    安装pip3installloguru日志等级等级方法TRACElogger.trace()DEBUGlogger.debug()INFOlogger.info()SUCESSlogger.sucess()WARNINGlogger.warnning()ERRORlogger.error()CRITICALlogger.critical()基本使用fromloguruimportlogger......
  • 【雕爷学编程】Arduino动手做(114)---US-015高分辨超声波模块
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来---小小的进步或是......
  • python3.11 安装脚本
    !/usr/bin/envbashauthorYuHaiPengyuminstallwget-yyumupdatewget-yyuminstall-ygccpatchlibffi-develpython-develzlib-develbzip2-develncurses-develsqlite-develreadline-develtk-develgdbm-develdb4-devellibpcap-develxz-develglibcif[......