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

nextjs आयात करते हैं, लेकिन फ़ंक्शन का आह्वान नहीं करते हैं, मॉड्यूल नहीं मिला:त्रुटि:'dns' को हल नहीं कर सकता

यह nextjs में सर्वर साइड कोड के साथ एक वास्तविक सूक्ष्म समस्या है।

त्रुटि स्पष्ट है :आप क्लाइंट साइड कोड में सर्वर साइड कोड (मोंगो क्वेरी) निष्पादित करने का प्रयास कर रहे हैं। जो स्पष्ट नहीं है वह कारण है, क्योंकि मुझे यकीन है कि आपके पास कोई गलत कोड नहीं है...

कुछ डिबग के बाद मैंने पाया कि यदि आप अपना मोंगो कोड आयात करते हैं और इसका उपयोग नहीं करते हैं तो यह त्रुटि फेंक दी जाती है। इससे बचने के तरीके को समझने के लिए नीचे देखें

अच्छे और बुरे उदाहरण

तो, यह ठीक काम करता है:

import { findUsers } from '../lib/queries'

function Home({ users }) {
  return (
    <h1>Users list</h1>
    //users.map and so on...
  )
}

export async function getServerSideProps() {
  const users = await findUsers()
  return {
    props: {
      users: users
    }
  }
}

export default Home

हालांकि यह त्रुटि फेंक देगा:

import { findUsers } from '../lib/queries'

function Home({ users }) {
  return (
    <h1>Users list</h1>
    //users.map and so on...
  )
}

export async function getServerSideProps() {
  // call disabled to show the error
  // const users = await findUsers()
  return {
    props: {
      users: [] //returned an empty array to avoid other errors
    }
  }
}

export default Home

इससे कैसे बचें

इस त्रुटि से बचने के लिए, बस अपने घटकों में से किसी भी सर्वर साइड कोड आयात को हटा दें यदि आप उपयोग नहीं करते हैं इसे getServerSideProps . में ।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. स्प्रिंग डेटा मोंगोडब क्वेरी स्ट्रिंग को ऑब्जेक्ट आईडी में स्वचालित रूप से परिवर्तित करती है

  2. MongoClient क्लास बनाम MongoDB\Driver\Manager Class

  3. MongoDB में दिए गए मानों का पता लगाएं जो मेल नहीं खाते

  4. मैक में मोंगोडब की लॉग फाइल कहां है

  5. MongoDB में 2 दस्तावेज़ विलय