当前位置: 首页 > news >正文

mongodb基本操作

一.
1.集群部署
主从配置文件一致

systemLog: verbosity: 0 #日志路径配置 path: mongod.log logAppend: true destination: file net: port: 27017 #开启外网访问权限 bindIp: 0.0.0.0 processManagement: fork: true pidFilePath: /home/mongodb/pid/mongod.pid storage:db #数据存储路径 dbPath: /home/mongodb/data/db directoryPerDB: true wiredTiger: engineConfig: cacheSizeGB: 1 security: authorization: enabled keyFile: /home/mongodb/mongodb.key clusterAuthMode: keyFile replication: replSetName: rs0 oplogSizeMB: 5000

主库创建用户

db.createUser({user:"admin", pwd:"admin", roles:[{role:"root",db:"admin"}]})

登录用户

db.auth("admin","admin")

初始化节点

rs.initiate({_id:"rs0", members:[{_id:0, host:"192.168.40.1:27017"},{_id:1, host:"192.168.40.2:27017"}]})

新增节点

rs.add("ip:port");

移除节点

rs.remove("ip:port");

主库创建密钥key文件

openssl rand-base64666>/home/mongodb/mongodb.keychmod600/home/mongodb/mongodb.key

之后把mongodb.key复制到从库,权限保持一致

查看配置

rs.config();

查看状态

rs.status();

PRIMARY:表示主节点
SECONDARY:表示从节点
部署好后,主库会自动把全量数据同步至从库

二.
1.查询
where 查询:

db.getCollection("xxxx").find({"id":NumberLong('11111111111')}).limit(10)

查询表行数

db.getCollection("xxxx").count()

查询某age和sex列,过滤条件,并且把sex列的列名改成性别:

db.getCollection("xxxx").aggregate([{"$match": {"sex":"男","category": {"$in":["数学","语文"]},'fieldName': {exists:true,$ne:null},'createTime': { $gte: ISODate('2022-07-01T00:00:00Z'),$lte: ISODate('2022-08-01T00:00:00Z')},} },{"$project": {"_id":0,"age":1,"性别":"$sex","生日":{$dateToString:{format:"%Y-%m-%d %H-%M-%S",date:"$birth"}},"number":"$number","时间":""}},//查询前10条{ $limit:10},//如果想分组,就写下面这个group,{"$group": {"_id":"$colname",//分组字段"number": { $avg:"$age"} } }]);

2.新增

db.collection.insertOne({name:"Example Document"});

3.修改
单个修改

批量修改

db.getCollection("table").update({"aaa":"0108"},{$set:{"bbb":"360"}},{multi:true});

4.删除

5.创建视图

db.createView("view_name","collection_name",[{ $match: { abc:"2109245374"} },{ $project: { _id:1,abc:1,def:1} }])

查看当前执行的任务

db.currentOp()

三.
1.导出

mongodump -h dbhost -d dbname -o dbdirectory

2.导入

mongorestore -h dbhost -d dbname --dir dbdirectory

3.连接

mongosh --host localhost --port 27017 --username root --password 123456 --authenticationDatabase admin

4.查询数据库

show dbs

5.查询所有集合

show collections

6.查询版本号

db.version()

7.查看慢日志

db.getProfilingLevel() 查看慢日志是否开启,1,2是开启慢日志 db.setProfilingLevel(2, 100) // 开启详细记录,并设置慢查询阈值为100毫秒
http://www.jsqmd.com/news/1308831/

相关文章:

  • NGINX Prometheus Exporter:解决NGINX监控数据孤岛的完整架构方案
  • 2026 年至今,宝兴有实力的杜康招商生产厂家电话,错过这个项目,白酒圈的人都在捶大腿?这事儿到底靠不靠谱? - 行业严选官
  • Intel® AI Reference Models vs 其他AI模型框架:为什么它是开发者的首选?
  • docker启动的jenkins拉取gitee的springboot项目构建并部署
  • 2026打游戏用什么电脑笔记本好,OLED高刷才是优先之选
  • Flutter 本地存储
  • 014、MobileNetv4轻量级骨干替换YOLOv11 Backbone——通道适配与性能对比涨点实验
  • 合肥本地拆除挖机租赁出租靠谱口碑推荐,家装旧房拆改 / 商铺工装拆除 / 厂房高空拆除一站式施工方案 - 知汇研习社
  • 免费版AI生成原型工具靠谱吗?深度实测优缺点与避坑指南
  • 如何用DyberPet打造你的专属桌面伙伴?PySide6框架完整指南
  • RS232转RS485转换器设计:从原理到实践,打通工业通信桥梁
  • docker安装elasticsearch,保姆级教程
  • 界面组件DevExpress ASP.NET Core v23.1 - 进一步升级UI组件
  • 如何用SMUDebugTool免费掌控AMD Ryzen处理器:终极调试指南
  • 选型指导聚氨酯脱泡机正规厂家哪家好:破解脱泡痛点的八步精准适配方法论 - 全域品牌推荐
  • 2026年7月靠谱的多语种培训辅导班推荐,CPE考级/PTE口语培训/雅思备考/IGCSE课程培训,多语种培训机构哪家强 - 品牌推荐师
  • 猫抓浏览器插件:从网页中捕获视频资源的智能解决方案
  • 列表输出控制:有序、无序与嵌套列表的精准控制
  • 2026精选合肥评价高的挖掘机租赁服务商深度解析 - 知汇研习社
  • 合肥本地拆除挖机租赁出租靠谱口碑推荐,小区室内局部拆除 / 大面积厂房整拆 / 混凝土静力切割专业落地方案 - 知汇研习社
  • 移动端图片优化神器Progressively:自适应加载技术让页面加载速度提升2倍
  • USB转串口通信:从芯片选型到工业协议实战全解析
  • 常用环境部署(五)——Docker部署airflow和Centos安装Python3.5
  • 013、DEA动态集成注意力与SGE空间组增强的轻量级注意力集成——即插即用涨点方案
  • 耶鲁OpenHand开源机械手:如何用3D打印打造你的低成本机器人抓取系统
  • 递归对抗(RAE/RAD)核心机制深度研究报告
  • 124.华为路由器:BGP的通告原则分析及详解
  • 2026年山东铺路垫厂家选购指南:恒峻诚诚等优质企业盘点 - 八方八方
  • 2026 年现阶段,邢台资质齐全的二甲胺 CAS号:124-40-3源头厂家推荐,这玩意儿竟是很多化工生产的关键原料,你知道它的CAS号藏着多少行业秘密吗? - 企业推荐官【认证官方】
  • 「Qt Widget中文示例指南」如何模拟一个时钟?