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

MongoError:NextJsAPIでの使用中にトポロジが破棄されました

    あなたが抱えている問題はこの行から来ています:

      await client.close();
    

    ドキュメントから:

    closeときの意味 クライアント、他の開いている接続もすべて閉じます。あなたの場合、#2と#4は#1と#3の直後(ただし、完了する前)に実行を開始し、実行中に接続を閉じます。

    ドキュメントからも:

    ステートレス関数の状態管理(私は知っています)を用意し、ステートレス関数に接続を提供するだけの接続サービスを用意することをお勧めします。この方法でエラーを管理するのも簡単です。

    このこちら の詳細をご覧ください およびnodejsドライバードキュメント

    問題に対する迅速な(そして非常に最適ではない)解決策は、次のように関数内で接続を定義することです。

    // remove the definition from here
    
    export default async (req, res) => {
         // and move it here
         const client = new MongoClient(process.env.DB_URI, {});
         await client.connect();
    
          .....
    
         await client.close();
    };
    



    1. Mongooseにオブジェクトを保存した後、objectIDを取得するにはどうすればよいですか?

    2. InvalidDocument:オブジェクトをエンコードできません:<ユーザー:ユーザーオブジェクト>MongoEngineを使用したReferenceField

    3. MongoDB Count()と集計

    4. Railsアプリでmongoidを使用したMongoクエリにより、カーソルタイムアウトエラーが発生します