2-4 Python 访问MongoDB

这篇具有很好参考价值的文章主要介绍了2-4 Python 访问MongoDB。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

2-4 Python 访问MongoDB

第一关:python连接MongoDB写入数据

第二关:检索文档

第三关:更新数据


2-4 Python 访问MongoDB

第一关:python连接MongoDB写入数据

1、导入pymongo库

import pymongo

2、使用MongoClient对象创建与数据库服务器的连接:

(1)与数据库访问器连接

client= pymongo.MongoClient(host='127.0.0.1',port=12717)

(2)连接到具体的mongodb服务器或副本集:

client=pymongo.MongoClient(host='10.90.9.102',port=12718)

client=pymongo.MongoClient(host=’10.90.9.101:27018,10.90.9.102: 12718,10.90.9.103:27018')

创建数据库 runoobdb :

1、mydb = client["runoobdb"]    mydb(相当于别名吧)=client[“数据库名称”]

2、db=client.mydb   db=client.databaseName  有则访问,无则创建!!!

创建集合:collection:

mycol=mydb["collection"]

3、访问数据库

创建MongoClient实例后,就可以访问服务器中的任何数据。

如果要访问一个数据库,可以将其当作属性一样进行访问:

db = client.myDB

也可以使用函数方式访问,如果不存在数据库,则系统会自动创建数据库

db = client.get_database("myDB")

注意:

在 MongoDB 中,数据库只有在内容插入后才会创建! 就是说,数据库创建后要创建集合(数据表)并插入一个文档(记录),数据库才会真正创建。

4、集合操作

(1)插入文档

在数据库中存储数据时,首先指定使用的集合,然后使用集合的insert_one()方法插入文档

mydict = { "name": "RUNOOB", "alexa": "10000", "url": "https://www.runoob.com" }

x = mycol.insert_one(mydict)

(2)可以使用方法insert_many()同时插入多个文档。

mylist = [

  { "name": "Taobao", "alexa": "100", "url": "https://www.taobao.com" },

  { "name": "QQ", "alexa": "101", "url": "https://www.qq.com" },

  { "name": "Facebook", "alexa": "10", "url": "https://www.facebook.com" },

  { "name": "知乎", "alexa": "103", "url": "https://www.zhihu.com" },

  { "name": "Github", "alexa": "109", "url": "https://www.github.com" }

]

x = mycol.insert_many(mylist)

5、输出所有插入文档的_id值

print(x.inserted_ids)

2-4 Python 访问MongoDB

 文章来源地址https://www.toymoban.com/news/detail-419295.html

第二关:检索文档

使用 find() 方法来查询指定字段的数据,将要返回的字段对应值设置为 1。

示例:

import pymongo

myclient= pymongo.MongoClient("mongodb://localhost:27017/")

mydb = myclient["runoobdb"]

mycol = mydb["sites"]         //创建数据库与集合

示例1、//查询mycol的sites集合中的所有数据并且输出:

for x in mycol.find():           

  print(x)

用python测试

2-4 Python 访问MongoDB

 

示例2、//_id为0不输出,输出name和alexa部分的字段 :

for x in mycol.find({},{ "_id": 0, "name": 1, "alexa": 1 }):    

  print(x)             

2-4 Python 访问MongoDB

 示例3、//会报错

for x in mycol.find({},{ "name": 1, "alexa": 0 }):

  print(x)

2-4 Python 访问MongoDB

 

示例4、查询姓名为RUNOOB的,将查询存储到myquery里面,将结果存储到mydoc里面

myquery = { "name": "RUNOOB" }

mydoc = mycol.find(myquery)

for x in mydoc:

  print(x)

2-4 Python 访问MongoDB

 

编程测试:

2-4 Python 访问MongoDB

 

第三关:更新数据

1、更新数据

my_set.update( #查询条件,#update的对象和一些更新的操作符)

update_one() 方法只能修匹配到的第一条记录

update_many() 修改所有匹配到的记录

示例:修改名字以F开头的alexa为“123“:

myquery = { "name": { "$regex": "^F" } }

newvalues = { "$set": { "alexa": "123" } }

x = mycol.update_many(myquery, newvalues)

print(x.modified_count, "文档已修改")

2-4 Python 访问MongoDB

2、删除数据

delete_one() 方法来删除一个文档,该方法第一个参数为查询对象,指定要删除哪些数据。

delete_many() 方法来删除多个文档,该方法第一个参数为查询对象,指定要删除哪些数据。

示例:删除名字以F开头的信息

myquery = { "name": {"$regex": "^F"} }

x = mycol.delete_many(myquery)

print(x.deleted_count, "个文档已删除")

2-4 Python 访问MongoDB

编程测试:

2-4 Python 访问MongoDB

 

到了这里,关于2-4 Python 访问MongoDB的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MongoDB未授权访问漏洞验证与修复过程

    环境:Windows,MongoDB3.2 本文是Windows!Windows!Windows!环境下 可以看到该ip存在MongoDB未授权访问漏洞,没有进行身份验证 可以看到连接被拒绝

    2024年02月11日
    浏览(40)
  • Spring Data访问 MongoDB(十六)----CDI集成

    存储库接口的实例通常由容器创建,在使用Spring Data时,Spring是最自然的选择。从1.3.0版本开始,Spring Data MongoDB附带了一个自定义的CDI扩展,允许你在CDI环境中使用存储库抽象。扩展是JAR的一部分。要激活它,请将Spring Data MongoDB JAR放入类路径中。现在,你可以通过为MongoTem

    2024年03月12日
    浏览(49)
  • 基于linux下的高并发服务器开发(第一章)- 目录操作函数

     (1)int mkdir(const char* pathname,mode_t mode); #include sys/stat.h #include sys/types.h int mkdir(const char *pathname, mode_t mode);     作用:创建一个目录     参数:          pathname: 创建的目录的路径         mode: 权限,八进制的数     返回值:          成功返回0, 失败返回-1  (

    2024年02月16日
    浏览(45)
  • 设置word目录从正文开始记录页码,并解决word目录正常,但正文页脚处只显示第一页的页码

    问题详情1:如何设置目录从正文开始记录页码 问题详情2:word目录处的页码正常,但正文只有第一页的页脚处显示页码 在设置目录从正文开始记录页码时需在目录后插入分节符(相同的节可以把当前页的页脚链接到上一页,但是不同的节就不行,因此可以利用分节来从 正文

    2024年03月10日
    浏览(115)
  • AIGC系列文章目录 第一章 AIGC 与AI对话,如何写好prompt?

    生成式人工智能AIGC(Artificial Intelligence Generated Content)是人工智能1.0时代进入2.0时代的重要标志。 AIGC对于人类社会、人工智能的意义是里程碑式的。 短期来看 AIGC改变了基础的生产力工具, 中期来看 会改变社会的生产关系, 长期来看 促使整个社会生产力发生质的突破,在

    2024年02月06日
    浏览(46)
  • 【Spring连载】使用Spring Data访问 MongoDB(一)----快速指南

    Spring Data MongoDB 4.x二进制文件需要JDK级别17及以上版本和Spring Framework 6.1.4及以上版本。 在数据库和驱动程序方面,你需要至少4.x版本的MongoDB和兼容的MongoDB Java驱动程序(4.x或5.x)。 首先,需要设置一个正在运行的MongoDB服务器。请参考MongoDB安装指南,了解如何启动MongoDB实例

    2024年02月21日
    浏览(51)
  • centos中mongodb设置服务自启动并 允许远程IP访问

    安装mongodb参考 注意的是配置文件需要把 journal 设置为true fork设置为false 因为进程由systemd管理所有不需要fork进程。 制作为系统服务 创建MongoDB服务文件。运行以下命令创建服务文件/etc/systemd/system/mongod.service: vi /etc/systemd/system/mongod.service 设置MongoDB服务为自启动。运行以下命

    2024年02月07日
    浏览(39)
  • 【Spring连载】使用Spring Data访问 MongoDB(二)----Template API

    MongoTemplate及其反应式(reactive)对应类位于org.springframework.data.mongodb.core包中,是Spring MongoDB支持的中心类,为与数据库交互提供了丰富的功能集。该template提供了创建、更新、删除和查询MongoDB文档的方便操作,并提供了域对象和MongoDB documents之间的映射。 配置后,MongoTemplate是线

    2024年02月21日
    浏览(34)
  • Springboot设置并访问静态资源目录

    目录 ​​​​​​​ 静态文件 application设置方法 配置详解 编写配置 优缺点 设置配置类方法 配置详解 编写配置 优缺点 总结         静态资源,一般是网页端的: HTML文件、JavaScript文件和图片 。尤其是 设置图片的静态资源 ,尤其重要: 这样的静态资源访问不会被Sp

    2024年02月15日
    浏览(64)
  • unidbg-补环境访问文件及目录

    1.可以采用重定向 2.采用虚拟目录 前两个文件不用补

    2024年02月11日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包