برنامه نویسی

⛔خطای تراکنش‌های 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 مجاز است” مواجه می شوید.

دلایل خطا:

  1. MongoDB محلی یک مجموعه Replica نیست.
  2. نمونه مستقل MongoDB: به طور پیش فرض، MongoDB در یک پیکربندی مستقل از تراکنش های چند سندی پشتیبانی نمی کند.
  3. پشتیبانی از تراکنش‌های گمشده: تراکنش‌ها فقط در اعضای مجموعه مشابه یا در خوشه‌هایی که توسط 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 خود در ویندوز یا لینوکس استفاده کنید.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا