जैसा कि टिप्पणी में भी बताया गया है, आप नोड-मोंगोडब-देशी v3.1 API ClientSession . ऐसा इसलिए है क्योंकि लेन-देन एक सत्र से जुड़े होते हैं। यही है, आप एक सत्र के लिए एक लेनदेन शुरू करते हैं। किसी भी समय, आप एक सत्र के लिए अधिकतम एक खुला लेनदेन कर सकते हैं।
MongoDB बहु-दस्तावेज़ लेन-देन
के लिए दस्तावेज़ीकरण उदाहरण भी शामिल हैं Node.js
कोड के टुकड़े। उदाहरण के लिए:
session.startTransaction({
readConcern: { level: 'snapshot' },
writeConcern: { w: 'majority' }
});
const employeesCollection = client.db('hr').collection('employees');
const eventsCollection = client.db('reporting').collection('events');
await employeesCollection.updateOne(
{ employee: 3 },
{ $set: { status: 'Inactive' } },
{ session }
);
await eventsCollection.insertOne(
{
employee: 3,
status: { new: 'Inactive', old: 'Active' }
},
{ session }
);
try {
await commitWithRetry(session);
} catch (error) {
await session.abortTransaction();
throw error;
}
उपरोक्त विधियों का संदर्भ यहां पाया जा सकता है:
MongoDB Node.js ड्राइवर v3.1 के अलावा, कृपया ध्यान दें कि बहु-दस्तावेज़ लेनदेन प्रतिकृति सेट के लिए उपलब्ध हैं। केवल MongoDB v4.0.x पर। संस्करण v4.2 से शुरू होने वाले शार्प किए गए क्लस्टर के लिए लेनदेन उपलब्ध हैं।