MongoDB
文章平均质量分 52
micromicrofat
Python | Go | Deep Learning
展开
-
【MongoDB运维】为副本集添加索引
服务器运维小伙伴说服务器CPU资源告警, 让我查一下问题原因mongo0容器长期占用过高CPU资源近期接口被调用频繁, TPH约7000, 而接口代码中使用{‘data_id’: data_id}为filter updateOne文档, 而data_id没有索引, 导致检索效率低为data_id创建索引我们知道mongoDB创建索引只需要执行但我这里是副本集, 需要在每个节点上创建索引, 而且接口要始终保持在线.undefinedDocker: 20.10.17一主一从一投票10.11.206.4 :原创 2022-06-16 15:35:58 · 365 阅读 · 0 评论 -
【MongoDB】基于Docker的MongoDB replica set(副本集)升级
之前文章【MongoDB】基于Docker的MongoDB replica set(副本集)搭建介绍了如何基于Docker搭建MongoDB副本集,当时的MongoDB版本号为4.4.5最近MongoDB最新版本号已经来到了5.0.8原创 2022-05-11 17:16:56 · 872 阅读 · 0 评论 -
【MongoDB】MongoDB 5.0官方版本不再支持现有树莓派
之前在树莓派上成功部署了MongoDB 4.4.5,今天想升级大版本至5,发现报错Creating network "mongodb_replica_set" with the default driverCreating mongo0 ... doneAttaching to mongo0mongo0 exited with code 132mongo0 exited with code 132mongo0 exited with code 132查找后发现MongoDB 5更新了对软硬件原创 2022-05-11 16:39:45 · 1117 阅读 · 0 评论 -
由于列表中存在相同实例导致insert_many报错解决办法
在使用insert_many对mongodb进行多文档插入时报错pymongo.errors.BulkWriteError: batch op errors occurred但奇怪的是>>> mycol.insert_many(documents=[{'a':1},{'a':1},{'a':1},{'a':1},{'a':1},{'a':1},{'a':1},{'a':1},{'a':1}])这样没问题>>> pool1 = [{'a':1},{'a':1}原创 2021-05-26 15:47:59 · 907 阅读 · 0 评论 -
【Py】时间转换
import datetimefrom datetime import timezone, timedeltafrom dateutil import parserrfc3339转datetime(本地时区)>>> datetime.datetime.fromtimestamp(parser.parse('2021-05-19T10:10:10.000Z').timestamp()).astimezone(timezone(timedelta(hours=8)))dateti原创 2021-05-19 22:16:53 · 646 阅读 · 0 评论 -
【MongoDB】基于Docker的MongoDB replica set(副本集)搭建
最近项目中需要用到MongoDB,由于资源有限,手头上就只有两台云服务器和一些本地服务器,购买阿里云的MongoDB最低配的1C2G3节点的一年也要三四千块钱,索性自己搭一个吧。以下理论性质的内容是我用两天时间从各个博客汇总过来,再经过我个人的理解总结出来的,所以可能会有偏差,还望不吝赐教MongoDB集群分为三种:主从复制模式(Master Slave Replication)副本集模式分片模式##主从复制模式(Master Slave Replication)从官方文档中可以看到,原创 2021-04-26 21:36:50 · 2311 阅读 · 0 评论 -
基于Docker的MongoDB数据export和import
之前有命令如cloneCollection、cloneDatabase,随着版本更新,逐渐被废弃,目前官方推荐的导出导入方式为mongoexport和mongoimport两个命令以下方式适用于使用docker部署mongodb的方式mongoexport# 进入容器,注意是进入容器,而不启动mongo shell>>> docker exec -it mongo /bin/sh# 由于数据库使用了用户名密码验证,所以多了authenticationDatabase、userna原创 2021-04-25 11:09:39 · 917 阅读 · 0 评论 -
解决多进程环境下pymongo连接报错No replica set members found yet
部署环境:uwsgiflaskpymongo版本: 3.11.3nginx问题描述今天将mongodb数据库换成Atlas的数据库,部署后发现报错No replica set members found yet, Timeout: 30s, Topology Description: <TopologyDescription id: 606eb750c8adfd36c462e02c, topology_type: ReplicaSetNoPrimary, servers: [<原创 2021-04-08 16:46:03 · 1857 阅读 · 0 评论 -
MongoDB官网申请免费Cluster
登录:https://account.mongodb.com/account/login?signedOut=true注册完成后:注:每个project下仅能创建一个免费Cluster,可以通过创建多个project来创建多个免费Cluster,project上限没有验证;由于提供服务的有AWS、Google Cloud、Azure,且服务器地址都在国外,所以网络延迟以及连通性有待验证,我选的Google Cloud 日本节点没问题。测试...原创 2021-04-08 10:01:44 · 354 阅读 · 0 评论 -
pymongo连接mongodb时出现The “dnspython“ module must be installed to use mongodb+srv:// URIs解决方案
>>> pip3 install 'pymongo[srv]'参考:https://stackoverflow.com/a/57907815原创 2021-04-08 09:46:40 · 927 阅读 · 0 评论 -
pymongo使用记录(20200819更新)
2020-08-11 更新>>> import pymongo# 登录及认证>>> myclient = pymongo.MongoClient('mongodb://10.8.15.49:27017/')>>> mydb = myclient['web_data']>>> mydb.authenticate('username', 'password')True# 显示数据库下集合名称>>> myd.原创 2020-08-11 15:21:53 · 166 阅读 · 0 评论 -
Pymongo insert时会自动添加‘_id’
在使用pymongo时遇到了一个小坑:在Flask框架中,将字典插入mongodb后再返回就报错@app.route('xxxx')def main(): ... data = { 'a':'a', 'b':'b' } mycol.insert_one(data) return dataTraceback (most recent call last): File "/home/xiang/.local/lib/python3.6/site-packages/flask/ap原创 2020-09-21 09:49:26 · 892 阅读 · 0 评论 -
0402自学web后端之——MongoDB安装、基本概念与基本操作
安装docker方式>>> docker pull mongo:latest>>> docker run -itd --name mongo -p 27017:27017 mongo --auth# 进入客户端 admin为数据库名称>>> docker exec -it mongodb mongo admindb.create...原创 2020-04-07 17:35:56 · 199 阅读 · 0 评论 -
0407自学web后端之——MongoDB创建索引
MongoDB每个collection自带有’_id’索引,这个索引是默认的,无法删除,在这个基础上可以自行添加索引>>> db.jdy_data.createIndex({entryId: 1}, {background: true}){ "createdCollectionAutomatically" : false, "numIndexesBefore" : 1, "numIndexesAfter" : 2, "ok" : 1}参考:https://www.runo原创 2021-04-07 09:26:13 · 133 阅读 · 0 评论