मैं "mongoose": "^5.7.1"
अपने Node.js प्रोजेक्ट में उपयोग कर रहा हूं । मैं एक एपीआई बना रहा हूं जिसमें दो दस्तावेजों में अपडेट करना शामिल है। इसलिए, मैं निम्नलिखित लेनदेन का उपयोग कर रहा हूं:
// Start the transaction
session = await mongoose.startSession()
session.startTransaction()
await Promise.all([
<1st update operation>,
<2nd update operation>
])
// Commit the transaction
session.commitTransaction()
जब मैं अपने स्थानीय वातावरण पर इस एप को हिट करता हूं, तो मुझे निम्नलिखित त्रुटि मिलती है:
MongoError: यह MongoDB तैनाती रिट्रीबल राइट्स का समर्थन नहीं करता है। कृपया अपने कनेक्शन स्ट्रिंग में पुनर्प्रयास = गलत जोड़ें।
जब मैंने दूरस्थ वातावरण पर इस एप को मारा, तब यह ठीक चलता है। मैं https://www.clever-cloud.com डेटाबेस क्लाउड और AWS को एपीआई क्लाउड के रूप में उपयोग कर रहा हूं ।
जैसा कि त्रुटि संदेश में लिखा गया है, मैंने डालने की कोशिश की है 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
मैंने डिबग किया है और इस त्रुटि को फेंकने के पीछे वास्तविक त्रुटि है:
MongoError: लेन-देन संख्या केवल एक प्रतिकृति सेट सदस्य या मोंगो पर अनुमत है
कृपया कुछ सुझाव दें।