0

私はマングーススキーマを持っています。スキーマに対応するコレクション内のレコードをカウントしたい。すべてのレコードをカウントするのではなく、いくつかの基準を満たすレコードをカウントします。このカウントを同期的に実行する方法は?

mongodb コンソールでは、「db.mycollections.find(criteria).count()」を実行できます。mongoose コードからこのクエリを実行するにはどうすればよいですか?

4

1 に答える 1

1

Mongoose は、ほとんどの nodejs モジュールと同様に、同期コード実行に使用するようには設計されていません。これにより、データベースがクエリを実行している間、アプリのすべての実行が停止し、長時間かかる可能性があります。

モデルで呼び出す非同期カウント関数があります。

次のようにスキーマからモデルを作成したと仮定します。

var MyModel = mongoose.model('mySchemaCollection', mySchema);

次のようにカウントを取得できます。

MyModel.count(criteria, function (err, count) { 
    /* handle count */ 
});

カウントやその他の種類のクエリについては、Mongoose のドキュメントを参照してください。

于 2013-10-25T17:50:07.273 に答える