python连接MongoDB

MongoDB: 多用于文档数据库存非结构化数据,NoSQL非关系型数据库。

python连接mongo

config

MONGODB:USER: $MONGODB_USERPASSWORD: $MONGODB_PWHOST: hostPORT: 27017QUERY_STRING: 'replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false'SUFFIX: 'Dev'

MongoClient

from pymongo import MongoClienttry:# Python 3.xfrom urllib.parse import quote_plus
except ImportError:# Python 2.xfrom urllib import quote_plusmongo_uri = "mongodb://{USER}:{PASSWORD}@{HOST}:{PORT}/xxx?{QUERY_STRING}".format(USER=quote_plus(mongo_conf['USER']),PASSWORD=quote_plus(mongo_conf['PASSWORD']),HOST=mongo_conf['HOST'],PORT=mongo_conf['PORT'],QUERY_STRING=quote_plus(mongo_conf['QUERY_STRING'])
)def auth_user(client: MongoClient):# 先连接系统默认数据库admindb = client.admindb.authenticate(mongo_conf['USER'], mongo_conf['PASSWORD'], mechanism='SCRAM-SHA-1')# 获取client
client = MongoClient(mongo_uri, ssl=True, ssl_ca_certs='rds-combined-ca-bundle.pem')# get db
MongoTest = client['HistoryWebTool' + mongo_conf['SUFFIX']]
常用操作
from pymongo.collection import Collectionmongo_collection: Collection = MongoTest.表名# upsert 存在则更新,不存在则insert
filter_dict = {"object_id": object_id}
update_dict = {"$set": {"data": data,"success": success,"create_date": get_current_time_utc()}}
mongo_collection.update_one(filter_dict, update_dict, upsert=True)# 查
doc = mongo_collection.find_one({"$query": {'file_id': object_id},"$orderby": {"create_date": -1}})# 存在的不动, 不存在的插入
start_time_filter_dict = {"object_id": object_id}start_time_update_dict = {"$setOnInsert": {"create_date": get_current_time_utc(),"user_id": user_id}}
mongo_collection.update_one(start_time_filter_dict, start_time_update_dict, upsert=True)
索引
mongo_collection.create_index([("file_id", pymongo.DESCENDING)], background=True
)

更做操作,详见 https://www.runoob.com/mongodb/mongodb-tutorial.html

python连接MongoDB,以及常用操作相关推荐

  1. python连接mongodb的库文件pymongo

    安装python连接mongodb的库文件pymongo # wget http://pypi.python.org/packages/source/p/pymongo/pymongo-2.6.tar ...

  2. Python 连接MongoDB并比较两个字符串相似度的简单示例

    本文介绍一个示例:使用 pymongo 连接 MongoDB,查询MongoDB中的 字符串 记录,并比较字符串之间的相似度. 一,Python连接MongoDB 大致步骤:创建MongoClient ...

  3. MongoDB实战系列之二:MongoDB的常用操作

    #以服务方式启动mongodb,要求验证 /elain/apps/mongodb/bin/mongod --fork --port 27001 --auth --dbpath /elain/data/ ...

  4. python连接mongodb数据库密码_windows下mongodb设置用户名密码用python连接

    环境: 主机:WIN10 python版本:3.5 mongodb版本:3.4.2 开发环境:pyCharm mongodb设置用户名密码: 编写mongodb配置文件mongodb.conf dbp ...

  5. python colorlist_Python list的常用操作

    Python list列表的用法: 序列是Python中常用的数据结果,主要用于存放数据(同一个序列可以存放不同类型的数据). 1. 序列的常用操作: 1.1 索引 1.2 分片 1.3 相加 1.4 ...

  6. Python中集合的常用操作

    一.集合的介绍 1.定义:集合是无序的,集合中的元素是唯一的,集合一般用于元组或者列表中的元素去重. 2.特性:集合的目的是将不同的值存放在一起,不同的集合间用来做关系运算,无须纠结于集合中的单个值. ...

  7. Python 之 os 模块常用操作

    我们知道,使用 Python 内置的库函数, open() 函数可以对文本文件进行读写操作,那么这是在文件层面上的操作,如果说我们想对文件夹进行增.删.改.查时,又该如何去做呢? Python 拥有强 ...

  8. python 连接mongodb查询数据

     1.安装pymongo并引入 pip install pymongo 连接MongoDB时,需要使用PyMongo库里面的MongoClient. 2.连接mongoDB 一般来说,传入MongoD ...

  9. python字符串、元组常用操作

    常用字符串操作函数: #Author:CGQ name="I \tam ChenGuoQiang" print(name.capitalize())#首字母大写,其他都小写 pri ...

  10. python连接mongodb数据库、创建用户_mongodb对数据库创建用户名和密码

    MongoDB 有一个用户管理机制,简单描述为管理用户组,这个组的用户是专门为管理普通用户而设的,暂且称之为管理员.管理员通常没有数据库的读写权限,只有操作用户的权限,我们只需要赋予管理员 userA ...

最新文章

  1. 摄像头标定GML Camera Calibration
  2. eclipse git commit
  3. Linux参数顺序,【每日一linux命令3】参数(或称选项)顺序
  4. 获取线程名称 java 1615387415
  5. java百度地图坐标_java腾讯地图与百度地图坐标转换
  6. 大数据隐私保护技术之脱敏技术
  7. sift计算描述子代码详解_浅谈SIFT特征描述子
  8. softmax回归的简洁实现-09-p5
  9. MyBatis学习笔记(3)-动态SQL
  10. linux mud 游戏,一笑天涯MUD游戏
  11. 3DGIS第一章 绪 论
  12. 计算机网络网线制作与测试结果,《计算机网络》网线制作实验报告.doc
  13. 「案例分析」生鲜行业B2B供应链平台开发案例
  14. Mybatis实现订单案例的五表联合操作
  15. 如何练就超强的学习能力?这才是最好的答案
  16. word文档乱码了怎么办
  17. 如何自动生成表关联关系关系图 或 实体关系模型图------EER图
  18. cip查询(中国新闻出版信息网cip查询)
  19. OpenCV 录制视频
  20. 为什么下雨天特别想睡觉?原来是因为……

热门文章

  1. Mybatis缓存机制及mybatis的各个组成部分
  2. iOS HTML5的JS交互
  3. 多个Tomcat同时运行环境配置 - imsoft.cnblogs
  4. 让图片左右缓慢移动的MoveView
  5. IIS8,OUTLOOK OWA 2013鉴赏
  6. 在主函数中输入10个等长的字符串。用另一函数对他们排序
  7. lindows.javaeye.com
  8. 希望这篇文章对理解C#的对象模型有所帮助
  9. [转帖]onInterceptTouchEvent和onTouchEvent调用时序
  10. 微信小程序-day1