আমি "mongoose": "^5.7.1"
আমার নোড.জেএস প্রকল্পে ব্যবহার করছি । আমি একটি এপিআই তৈরি করছি যা দুটি ডকুমেন্টে আপডেট হওয়া জড়িত। সুতরাং, আমি লেনদেনগুলি নিম্নলিখিতগুলির মতো ব্যবহার করছি:
// Start the transaction
session = await mongoose.startSession()
session.startTransaction()
await Promise.all([
<1st update operation>,
<2nd update operation>
])
// Commit the transaction
session.commitTransaction()
আমি যখন আমার স্থানীয় পরিবেশে এই এপিটি আঘাত করি তখন আমি নিম্নলিখিত ত্রুটিটি পাই:
মঙ্গোএরর: এই মোংগোডিবি স্থাপনার পুনরায় চেষ্টাযোগ্য লেখাকে সমর্থন করে না। দয়া করে আপনার সংযোগের স্ট্রিতে retryWrites = মিথ্যা যুক্ত করুন।
আমি যখন এই এপিটিকে দূরবর্তী পরিবেশে আঘাত করি তখন এটি ঠিকঠাক হয়। আমি https://www.clever-cloud.com ডাটাবেস ক্লাউড এবং এপিডব্লিউএসকে এপিআই মেঘ হিসাবে ব্যবহার করছি ।
ত্রুটি বার্তায় লেখা হিসাবে, আমি চেষ্টা করার চেষ্টা করেছি retryWrites=false
- সংযোগের স্ট্রিংয়ের শেষে যা আমি মঙ্গুজে যাচ্ছি
mongodb://${ip}:${port}/${this.MONGO_DATABASE}?retryWrites=false
- পদ্ধতিতে
retryWrites: false
পাস হিসাবে বিকল্প সহmongoose.connect
।
mongoose.connect(`mongodb://${ip}:${port}/${this.MONGO_DATABASE}`, {
useNewUrlParser: true,
useUnifiedTopology: true,
useCreateIndex: true,
retryWrites: false
}, (err) => {...})
উপরের কেউই বিষয়টি সমাধান করেনি।
নীচে mongo --version
কমান্ডের আউটপুট দেওয়া হল :
db version v4.0.13
git version: bda366f0b0e432ca143bc41da54d8732bd8d03c0
allocator: system
modules: none
build environment:
distarch: x86_64
target_arch: x86_64
আমি ডিবাগ করেছি এবং এই ত্রুটিটি ফেলে দেওয়ার পিছনে আসল ত্রুটিটি হ'ল:
মঙ্গোএরর: লেনদেনের নম্বরগুলি কেবল একটি প্রতিলিপি সেট সদস্য বা মঙ্গোগুলিতে অনুমোদিত
কিছু প্রস্তাব দিন।