snake Mongoose.js: संग्रह या डीबी हटा दें




मुंगूस माहिती (4)

यह अब मोंगोस में किया जा सकता है।

MyModel.collection.drop();

हैट टिप: https://github.com/Automattic/mongoose/issues/4511

क्या mongoose.js का उपयोग कर संग्रह या पूरे डीबी को हटाना संभव है?


उन लोगों के लिए जो mochajs टेस्ट फ्रेमवर्क का उपयोग कर रहे हैं और प्रत्येक टेस्ट के बाद सभी डीबी संग्रह साफ़ करना चाहते हैं, आप निम्न का उपयोग कर सकते हैं जो async / mochajs का उपयोग करता है:

afterEach(async function () {
  const collections = await mongoose.connection.db.collections()

  for (let collection of collections) {
    await collection.remove()
  }
})

Mongoose हर मॉडल पर कनेक्शन का संदर्भ देता है। इसलिए, आपको किसी व्यक्तिगत मॉडल के डीबी या संग्रह को छोड़ना उपयोगी हो सकता है।

उदाहरण के लिए:

// Drop the 'foo' collection from the current database
User.db.db.dropCollection('foo', function(err, result) {...});

// Drop the current database
User.db.db.dropDatabase(function(err, result) {...});

हां, यद्यपि आप मूल मोंगोडीबी चालक के माध्यम से करते हैं और मोंगोस स्वयं नहीं। एक आवश्यक, कनेक्टेड, mongoose वैरिएबल मानते हुए, देशी Db ऑब्जेक्ट mongoose.connection.db माध्यम से सुलभ mongoose.connection.db , और वह ऑब्जेक्ट dropCollection और dropDatabase विधियों को प्रदान करता है।

// Drop the 'foo' collection from the current database
mongoose.connection.db.dropCollection('foo', function(err, result) {...});

// Drop the current database
mongoose.connection.db.dropDatabase(function(err, result) {...});




mongoose