在window下将Mongodb单机改为副本集,只用于测试环境,实际上并没有增加真的副本集

1.修改mongod.cfg配置文件

在你安装mongodb的文件目录中找到bin/然后找到mongod.cfg

注意下面的格式,不能用tab键进行缩进,字段冒号后面必须有空格

bash 复制代码
storage:
  dbPath: D:\xuenodejs\mongoData

systemLog:
  destination: file
  logAppend: true
  path: D:\xuenodejs\mongoLogs\mongod.log

net:
  port: 28017
  bindIp: 127.0.0.1

security:
  authorization: enabled
  keyFile: D:\xuenodejs\mongoLogs\mongo-keyfile

replication:
  replSetName: rs0

关于keyFile: D:\xuenodejs\mongoLogs\mongo-keyfile文件的生成

你可以用openssl 生成,生成命令如下

bash 复制代码
openssl rand -base64 756 > /path/to/mongo-keyfile
chmod 400 /path/to/mongo-keyfile  # 限制权限

2.首先用管理员身份打开window powershell

以管理员身份运行 PowerShell,执行:

Restart-Service -Name "MongoDB" -Force

或者停止后再启动

Stop-Service -Name "MongoDB"

Start-Service -Name "MongoDB"

3.登陆mongodb,用mongosh登陆,记住必须 是admin身份登陆

如果你是创建的新数据库应该先运行配置文件

mongod --config "d:/xuenodejs/backend/mongod2.cfg"

直接连接本地

mongosh

或指定端口、认证

mongosh --port 28017 -u admin -p

进入后切换到 admin 库

use admin

4.初始化副本集

bash 复制代码
// 初始化单节点副本集
rs.initiate({
    _id: "rs0",
    members: [{ _id: 0, host: "localhost:28017" }]
});

// 等待几秒,查看状态
rs.status();

// 确认自己是 PRIMARY 后,退出
exit;

5.修改你后端的连接地址,我是nodejs的

bash 复制代码
#urlPath='mongodb://admin:123456@localhost:28017/?authSource=admin&replicaSet=rs0';

// 关键是加上 &replicaSet=rs0

这样你就可以在nodejs中测试用mongodb的副本集了,比如用watch()监听insert/update/delete/change等方面的事件程序了,这些可以写成监听生成新的订单,新的工单,或是生成了新的通知等等,然后将新生成的文章通知用户或是管理员

相关推荐
●VON8 小时前
鸿蒙Flutter实战:分类管理页BottomSheet CRUD
数据库·flutter·华为·harmonyos·鸿蒙
Cosolar8 小时前
Chroma向量库面试学习指南
数据库·人工智能·面试·职场和发展·数据库架构
企服AI产品测评局9 小时前
Agent适配信创环境实测:企业级自动化如何实现国产操作系统与数据库全兼容?
运维·数据库·人工智能·ai·chatgpt·自动化
cfm_29149 小时前
Redis数据安全性解析
数据库·redis·缓存
DIY源码阁9 小时前
JavaSwing学生成绩管理系统 - MySQL版
java·数据库·mysql·eclipse
NiceCloud喜云11 小时前
Claude Code Routines 实战:三种触发器跑通云端自动化编码
android·运维·数据库·人工智能·自动化·json·飞书
辞忧九千七11 小时前
Redis 单机一主二从主从复制完整搭建指南
数据库·redis·缓存
lzhdim11 小时前
SQL 入门 16:SQL 事务隔离级别与死锁解析(易懂)
数据库·sql
AI 小老六12 小时前
Claude Code 如何压缩上下文:Microcompact、Prompt Cache 与 cache_edits 工程拆解
数据库·人工智能·ai·语言模型·架构·系统架构
Chasing__Dreams12 小时前
Redis--基础知识点--32--redis底层存储结构
数据库·redis·缓存