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等方面的事件程序了,这些可以写成监听生成新的订单,新的工单,或是生成了新的通知等等,然后将新生成的文章通知用户或是管理员