MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

Mongoose Model.find() और Model.find().exec() में समान परिणाम देते हैं। तो Model.find().exec() का उपयोग करने से परेशान क्यों हैं?

नेवला ने वादों<में दोनों के अंतर को समझाया है /ए> ,

उदाहरण के साथ:

const doc = await Band.find({ name: "Guns N' Roses" }); // works

const badId = 'this is not a valid id';
try {
  await Band.find({ _id: badId });
} catch (err) {
  // Without `exec()`, the stack trace does **not** include the
  // calling code. Below is the stack trace:
  //
  // CastError: Cast to ObjectId failed for value "this is not a valid id" at path "_id" for model "band-promises"
  //   at new CastError (/app/node_modules/mongoose/lib/error/cast.js:29:11)
  //   at model.Query.exec (/app/node_modules/mongoose/lib/query.js:4331:21)
  //   at model.Query.Query.then (/app/node_modules/mongoose/lib/query.js:4423:15)
  //   at process._tickCallback (internal/process/next_tick.js:68:7)
  err.stack;
}

try {
  await Band.find({ _id: badId }).exec();
} catch (err) {
  // With `exec()`, the stack trace includes where in your code you
  // called `exec()`. Below is the stack trace:
  //
  // CastError: Cast to ObjectId failed for value "this is not a valid id" at path "_id" for model "band-promises"
  //   at new CastError (/app/node_modules/mongoose/lib/error/cast.js:29:11)
  //   at model.Query.exec (/app/node_modules/mongoose/lib/query.js:4331:21)
  //   at Context.<anonymous> (/app/test/index.test.js:138:42)
  //   at process._tickCallback (internal/process/next_tick.js:68:7)
  err.stack;
}

अन्य भी:प्रश्न वादे नहीं हैं :

const query = Band.find({name: "Guns N' Roses"});
assert.ok(!(query instanceof Promise));

// A query is not a fully-fledged promise, but it does have a `.then()`.
query.then(function (docs) {
  // use docs
});

// `.exec()` gives you a fully-fledged promise
const promise = query.exec();
assert.ok(promise instanceof Promise);

promise.then(function (docs) {
  // use docs
});



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मोंगोडब में सेट शार्प रेप्लिका पर रीड ओनली क्वेरी को कैसे निष्पादित करें?

  2. मैं $lookup mongodb या nodejs mongodb का उपयोग करके एकाधिक संग्रह को एक संग्रह में कैसे जोड़ सकता हूं?

  3. जर्नलिंग को नियंत्रित करने के लिए छोटे फ़ाइल विकल्प सेट करना आकार को नियंत्रित नहीं करता है

  4. एक्सप्रेस और पोस्टमैन के साथ एक साथ कई JSON ऑब्जेक्ट पोस्ट करें

  5. MongoDB में सरणी के अंदर फ़ील्ड का योग खोजें