热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

pymongo的几个常用操作

学到了MongoDBMongo是一个基于分布式文件存储的数据库,由C++编写,旨在为Web应用提供可拓展的高性能数据存储解决方案.它介于关系数据库和非关系数据库之间,在非关系数据

学到了 MongoDB
Mongo 是一个基于分布式文件存储的数据库,由 C++ 编写,旨在为 Web 应用提供可拓展的高性能数据存储解决方案.它介于关系数据库和非关系数据库之间,在非关系数据库中最像关系数据库.
首先在 pycharm 中安装 pymongo 库
这里写图片描述
首先每次使用数据库前要打开 MongoDB 服务,即在文件目录下分别执行 mongod , mongo 命令
且关闭数据库最好用 Ctrl+C 再推出 cmd
输入 Label 后,建立一个mongodb
测试连接后就可以使用了

MongoDB文件储存格式是 json 所以一般都存字典

  • 创建数据库,表

测试代码:

import requests
import pymongo
import time

dic={'name':111,'id':222}
client=pymongo.MongoClient()
testdb=client['TEST_DB']
testsheet=testdb['TEST_SHEET']
testsheet.insert_one(dic)

MongoDB 是惰性的,意思就是在真正写入数据前,都不会创建数据库
这里写图片描述

  • 查询操作
import requests
import pymongo
import time

dic={'name':111,'score':222}
dic1={'name':1111,'score':2222}
client=pymongo.MongoClient() # MongoClient('localhost':27017)
testdb=client['TEST_DB'] # 新建数据库 类似字典
testsheet=testdb['TEST_SHEET'] # 新建表
testsheet.insert_one(dic)
testsheet.insert_one(dic1)

# 查询修改.find()
for item in testsheet.find():
    print(item)
    # update 方法 $set
    testsheet.update_one({'name':item['name']},{'$set':{'name':item['name']+5}})
#查找score大于2220的
for item in testsheet.find({'score':{'$gt':2220}}):
    print(item['name'])
#output
{'_id': ObjectId('5b12cd10fdf462257827248e'), 'name': 116, 'id': 222}
{'_id': ObjectId('5b12d5d1fdf46223ec431bde'), 'name': 116, 'score': 222}
{'_id': ObjectId('5b12d5d1fdf46223ec431bdf'), 'name': 1116, 'score': 2222}
{'_id': ObjectId('5b12d6d5fdf46213b4485dda'), 'name': 111, 'score': 222}
{'_id': ObjectId('5b12d6d5fdf46213b4485ddb'), 'name': 1111, 'score': 2222}
1121
1116

其中

testsheet.update_one({'name':item['name']},{'$set':{'name':item['name']+5}})
第一个参数是 {'name':item['name']} 为更新的查询条件,对应’name’字段,
第二个参数是{'$set':{'name':item['name']+5}}) $set是MongoDB的一个修改器,用于指定一个键并更新键值.,若不存在则新建.此外还有$inc,$unset,$push等 ,分别用于数字的增减,删除键,添加数组类型
这里写图片描述


推荐阅读
  • web.py开发web 第八章 Formalchemy 服务端验证方法
    本文介绍了在web.py开发中使用Formalchemy进行服务端表单数据验证的方法。以User表单为例,详细说明了对各字段的验证要求,包括必填、长度限制、唯一性等。同时介绍了如何自定义验证方法来实现验证唯一性和两个密码是否相等的功能。该文提供了相关代码示例。 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • 使用正则表达式爬取36Kr网站首页新闻的操作步骤和代码示例
    本文介绍了使用正则表达式来爬取36Kr网站首页所有新闻的操作步骤和代码示例。通过访问网站、查找关键词、编写代码等步骤,可以获取到网站首页的新闻数据。代码示例使用Python编写,并使用正则表达式来提取所需的数据。详细的操作步骤和代码示例可以参考本文内容。 ... [详细]
  • 本文介绍了django中视图函数的使用方法,包括如何接收Web请求并返回Web响应,以及如何处理GET请求和POST请求。同时还介绍了urls.py和views.py文件的配置方式。 ... [详细]
  • Python SQLAlchemy库的使用方法详解
    本文详细介绍了Python中使用SQLAlchemy库的方法。首先对SQLAlchemy进行了简介,包括其定义、适用的数据库类型等。然后讨论了SQLAlchemy提供的两种主要使用模式,即SQL表达式语言和ORM。针对不同的需求,给出了选择哪种模式的建议。最后,介绍了连接数据库的方法,包括创建SQLAlchemy引擎和执行SQL语句的接口。 ... [详细]
  • Day2列表、字典、集合操作详解
    本文详细介绍了列表、字典、集合的操作方法,包括定义列表、访问列表元素、字符串操作、字典操作、集合操作、文件操作、字符编码与转码等内容。内容详实,适合初学者参考。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 延迟注入工具(python)的SQL脚本
    本文介绍了一个延迟注入工具(python)的SQL脚本,包括使用urllib2、time、socket、threading、requests等模块实现延迟注入的方法。该工具可以通过构造特定的URL来进行注入测试,并通过延迟时间来判断注入是否成功。 ... [详细]
  • python限制递归次数(python最大公约数递归)
    本文目录一览:1、python为什么要进行递归限制 ... [详细]
  • 感谢大家对IT十八掌大数据的支持,今天的作业如下:1.实践PreparedStament的CRUD操作。2.对比Statement和PreparedStatement的大批量操作耗时?(1 ... [详细]
  • 一:跨域问题1、同源策略(浏览器的安全策略)    只允许当前页面朝当前域下发请求,如果向其他域发请求,请求可以正常发送,数据也可以拿回,但是被浏览器拦截了  2、c ... [详细]
  • 本文介绍了iOS数据库Sqlite的SQL语句分类和常见约束关键字。SQL语句分为DDL、DML和DQL三种类型,其中DDL语句用于定义、删除和修改数据表,关键字包括create、drop和alter。常见约束关键字包括if not exists、if exists、primary key、autoincrement、not null和default。此外,还介绍了常见的数据库数据类型,包括integer、text和real。 ... [详细]
  • 本文介绍了Java中Hashtable的clear()方法,该方法用于清除和移除指定Hashtable中的所有键。通过示例程序演示了clear()方法的使用。 ... [详细]
  • Gitlab接入公司内部单点登录的安装和配置教程
    本文介绍了如何将公司内部的Gitlab系统接入单点登录服务,并提供了安装和配置的详细教程。通过使用oauth2协议,将原有的各子系统的独立登录统一迁移至单点登录。文章包括Gitlab的安装环境、版本号、编辑配置文件的步骤,并解决了在迁移过程中可能遇到的问题。 ... [详细]
author-avatar
黄岳雯淑怡彦璇
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有