sql >> データベース >  >> NoSQL >> MongoDB

nextjsをインポートしますが、関数がスローされませんモジュールが見つかりません:エラー:「dns」を解決できません

    これは、nextjsのサーバー側コードに関する実際の微妙な問題です。

    エラーは明らかです :クライアント側のコードでサーバー側のコード(mongoクエリ)を実行しようとしています。明らかではないのは原因です。間違ったコードを持っていないはずだからです...

    デバッグの結果、mongoコードをインポートして使用しない場合に、このエラーがスローされることがわかりました。 それを回避する方法を理解するには、以下を参照してください

    良い例と悪い例

    したがって、これは正常に機能します:

    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. mongodbでサブドキュメントフィールドを動的に$setする方法は?

    2. Mongo DBでの保存と挿入の違いは何ですか?

    3. PyMongoを使用して重複キーエラーの後に挿入を続行する方法

    4. MongoDBの新機能コマンドmongoを実行できません