尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

mongodb基本操作

mongodb基本操作
📅 发布时间:2026/8/1 19:42:24

一.
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毫秒

相关新闻

  • Intel® AI Reference Models vs 其他AI模型框架:为什么它是开发者的首选?
  • NGINX Prometheus Exporter:解决NGINX监控数据孤岛的完整架构方案
  • 2026 年至今,宝兴有实力的杜康招商生产厂家电话,错过这个项目,白酒圈的人都在捶大腿?这事儿到底靠不靠谱? - 行业严选官

最新新闻

  • 洗浴足疗店收银系统怎么选?项目计费、技师提成、会员充值要对清 - Chencen
  • GitHub MCP Server完全配置指南:从新手到专家的个性化设置
  • 终极磁盘清理指南:12种工具一键释放Windows存储空间
  • 2025 年广州南沙区搬家公司联系电话汇总 半导体精密仪器搬运收费标准与本地五家服务商深度测评指南 - 厚道搬家
  • 如何使用Gata Auto Bot自动完成Gata DVA任务?新手入门完整指南
  • 什么是代理IP池?如何判断IP代理商的IP池是否真实优质?

日新闻

  • ClickHouse版本管理深度实战:4步构建零风险升级与回滚体系
  • Java 23 种设计模式:从踩坑到精通 | 番外:责任链模式 —— 物流审批流程实战
  • 华硕笔记本性能解放指南:G-Helper轻量级控制工具全面解析

周新闻

  • 大连理工大学与东京大学联手打造的“主动型AI助手“
  • 170.2026年国家级科研瓶颈:超精密单点金刚石切削(SPDT)光学表面生成
  • SongBloom:革命性歌曲生成框架深度解析——如何通过交织自回归与扩散模型创作完整音乐

月新闻

  • ClickHouse版本管理深度实战:4步构建零风险升级与回滚体系
  • Java 23 种设计模式:从踩坑到精通 | 番外:责任链模式 —— 物流审批流程实战
  • 华硕笔记本性能解放指南:G-Helper轻量级控制工具全面解析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号