मैं अपने Node.js सर्वर को एटलस मोंगो डेटाबेस से जोड़ने का प्रयास कर रहा हूं। मैं इसके लिए नेवला का उपयोग कर रहा हूँ।

await mongoose
      .connect(process.env.MONGO_URI!, {
        useNewUrlParser: true,
        useUnifiedTopology: true,
        useCreateIndex: true,
        useFindAndModify: false,
        poolSize: parseInt(process.env.POOL_SIZE!),
      })
      .then((res) => {
        console.log(
          'Connected to Distribution API Database - Initial Connection'
        );
      })
      .catch((err) => {
        console.log(
          `Initial Distribution API Database connection error occured -`,
          err
        );
      });

Package.json फ़ाइल में इससे संबंधित मेरी निर्भरताएँ नीचे दी गई हैं:

"dependencies": {
    "@types/mongoose": "5.7.29",
    "mongoose": "5.9.21",
    "typescript": "3.9.5"
  },

यह पहले बिना किसी समस्या के काम कर रहा था (मैंने @ प्रकार/मोंगोज़ या नेवला संस्करणों को बिल्कुल भी अपडेट नहीं किया) और अचानक अब मुझे नीचे त्रुटि मिल रही है

Compilation error in /app/src/index.ts
Using ts-node version 8.10.2, typescript version 3.9.5
[ERROR] 16:25:18 ⨯ Unable to compile TypeScript: src/index.ts(59,11): error TS2769: No overload matches this call.
  Overload 1 of 3, '(uris: string, callback: (err: MongoError) => void): Promise<typeof import("mongoose")>', gave the following error.
    Argument of type '{ useNewUrlParser: boolean; useUnifiedTopology: boolean; useCreateIndex: boolean; useFindAndModify: boolean; poolSize: number; }' is not assignable to parameter of type '(err: MongoError) => void'.
      Object literal may only specify known properties, and 'useNewUrlParser' does not exist in type '(err: MongoError) => void'.
  Overload 2 of 3, '(uris: string, options?: ConnectionOptions | undefined): Promise<typeof import("mongoose")>', gave the following error.
    Argument of type '{ useNewUrlParser: true; useUnifiedTopology: true; useCreateIndex: true; useFindAndModify: false; poolSize: number; }' is not assignable to parameter of type 'ConnectionOptions'.
      Object literal may only specify known properties, and 'poolSize' does not exist in type 'ConnectionOptions'

क्या इस बारे में कोई मेरी मदद कर सकता है?? वास्तव में इस पर किसी भी विचार की सराहना करते हैं।

धन्यवाद

2
Shanka Somasiri 16 अगस्त 2021, 19:35

2 जवाब

सबसे बढ़िया उत्तर

नेवला को नवीनतम में अपडेट किया। हटाए गए प्रकार/मोंगोस ने इस मुद्दे को हल किया।

0
Shanka Somasiri 27 अगस्त 2021, 06:55

Npm पैकेज "@types/mongoose" को बहिष्कृत कर दिया गया है क्योंकि Mongoose का नवीनतम संस्करण अपने स्वयं के प्रकार प्रकाशित करता है।

https://www.npmjs.com/package/@types/mongoose

इसलिए, नेवला का नवीनतम संस्करण (6.0.3) उपयोग के लिए कनेक्ट विकल्प प्रदान नहीं करता है NewUrlParser, useCreateIndex, useUnifiedTopology, और useFindAndModify।

इसे हल करने के लिए, नेवले को पुराने संस्करण जैसे 5.13.8 में डाउनग्रेड करें, फिर इसे बिना किसी समस्या के ठीक काम करना चाहिए। :)

0
Bryan Kee 31 अगस्त 2021, 04:00