⛔خطای تراکنشهای MongoDB: «شمارههای تراکنش فقط برای یک عضو مجموعه کپی یا مونگو مجاز است.

Summarize this content to 400 words in Persian Lang
اگر استفاده می کنید بازگرداندن تراکنش با Mongoose در یک برنامه Node.js و با خطای “شماره تراکنش فقط در یک عضو مجموعه مشابه یا mongos مجاز است” مواجه می شوید.
دلایل خطا:
MongoDB محلی یک مجموعه Replica نیست.
نمونه مستقل MongoDB: به طور پیش فرض، MongoDB در یک پیکربندی مستقل از تراکنش های چند سندی پشتیبانی نمی کند.
پشتیبانی از تراکنشهای گمشده: تراکنشها فقط در اعضای مجموعه مشابه یا در خوشههایی که توسط mongos مدیریت میشوند (MongoDB خرد شده) در دسترس هستند.
🖥️ مراحل راه حل (در ویندوز):
✅ توقف سرویس mongodb خود را و ویرایش کنید C:\Program Files\MongoDB\Server{version}\bin\mongod.cfg فایل
# ⏹️ stop the service
net stop MongoDB
# 📝 edit below file
C:\Program Files\MongoDB\Server\{version}\bin\mongod.cfg
# set replica
replication:
replSetName: “rs0” # any name can set
# 🔄 start the service
net start MongoDB
# 🔧 open mongo SHell & init the the rs
rs.initiate()
# check the status
rs.status()
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
🐧مراحل راه حل (در سرور لینوکس/اوبونتو):
#⏹️ mongodb service stop
sudo service mongod stop
#🔧 access the mongod.config
sudo chmod -R 777 /etc/mongod.conf
#edit the cofigurationh
nano /etc/mongod.conf
#add now
# 🔧 Mongo db replica for Mongoose Transaction rollback.
replication:
replSetName: “rs0”
# 🔄 start the service
sudo service mongod start
# now go to mongo shell
mongosh
# now update the
rs.initiate()
# verify status
rs.status()
# start the mongod
sudo service mongod start
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
🎯 نتیجه گیری:
با دنبال کردن این مراحل، میتوانید خطای «شمارههای تراکنش فقط در یک عضو مجموعه مشابه یا mongos مجاز است» را برطرف کنید و از تراکنشهای MongoDB به طور موثر در برنامه Node.js خود در ویندوز یا لینوکس استفاده کنید.
اگر استفاده می کنید بازگرداندن تراکنش با Mongoose در یک برنامه Node.js و با خطای “شماره تراکنش فقط در یک عضو مجموعه مشابه یا mongos مجاز است” مواجه می شوید.
دلایل خطا:
- MongoDB محلی یک مجموعه Replica نیست.
- نمونه مستقل MongoDB: به طور پیش فرض، MongoDB در یک پیکربندی مستقل از تراکنش های چند سندی پشتیبانی نمی کند.
- پشتیبانی از تراکنشهای گمشده: تراکنشها فقط در اعضای مجموعه مشابه یا در خوشههایی که توسط mongos مدیریت میشوند (MongoDB خرد شده) در دسترس هستند.
🖥️ مراحل راه حل (در ویندوز):
✅ توقف سرویس mongodb خود را و ویرایش کنید C:\Program Files\MongoDB\Server{version}\bin\mongod.cfg فایل
# ⏹️ stop the service
net stop MongoDB
# 📝 edit below file
C:\Program Files\MongoDB\Server\{version}\bin\mongod.cfg
# set replica
replication:
replSetName: "rs0" # any name can set
# 🔄 start the service
net start MongoDB
# 🔧 open mongo SHell & init the the rs
rs.initiate()
# check the status
rs.status()
🐧مراحل راه حل (در سرور لینوکس/اوبونتو):
#⏹️ mongodb service stop
sudo service mongod stop
#🔧 access the mongod.config
sudo chmod -R 777 /etc/mongod.conf
#edit the cofigurationh
nano /etc/mongod.conf
#add now
# 🔧 Mongo db replica for Mongoose Transaction rollback.
replication:
replSetName: "rs0"
# 🔄 start the service
sudo service mongod start
# now go to mongo shell
mongosh
# now update the
rs.initiate()
# verify status
rs.status()
# start the mongod
sudo service mongod start
🎯 نتیجه گیری:
با دنبال کردن این مراحل، میتوانید خطای «شمارههای تراکنش فقط در یک عضو مجموعه مشابه یا mongos مجاز است» را برطرف کنید و از تراکنشهای MongoDB به طور موثر در برنامه Node.js خود در ویندوز یا لینوکس استفاده کنید.