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

MongoDB collection.find()でコールバックを取得する方法

    これは正しいコールバック構文ですが、find コールバックに提供するのはCursorです 、ドキュメントの配列ではありません。したがって、コールバックでドキュメントの配列として結果を提供する場合は、toArrayを呼び出します。 それらを返すためにカーソル上で:

    collection.find({'_id':o_id}, function(err, cursor){
        cursor.toArray(callback);
        db.close();
    });
    

    関数のコールバックは引き続きerrを提供する必要があることに注意してください 呼び出し元がクエリが機能したかどうかを認識できるようにするためのパラメータ。

    2.xドライバーアップデート

    find コールバックを介してカーソルを提供するのではなく、カーソルを返すようになったため、一般的な使用法は次のように簡略化できます。

    collection.find({'_id': o_id}).toArray(function(err, results) {...});
    

    または、単一のドキュメントが予想されるこの場合、findOneを使用する方が簡単です。 :

    collection.findOne({'_id': o_id}, function(err, result) {...});
    


    1. 変更ストリームを使用して本番環境でMongoDBを実行するためのヒント

    2. NodeJSで、異なるフィールド名を持つmongodbから結果を出力するにはどうすればよいですか?

    3. エクスポートされたMongoDBドキュメントをmongoexportでプリティファイする方法

    4. マングースfind()が結果を返さない