0
データベース内の特定のハッシュ値に一致する文書の数を取得しようとしていますが、文書の数にかかわらずcount()
関数は0を返すようですコレクションにこれは私が持っているコードです:MongoDB `cursor.count`は空でないコレクションにもかかわらず0を返します
var cursor = collection.find({hash_val: current_hash_val}, {response: 1,_id: 0});
cursor.count(function(count) {
if(count == 1) {
console.log("Found a unique document. Count is %d",count);
cursor.forEach(function(doc) {
console.log(doc);
});
}
else if(count > 1){
console.log("Found multiple documents. Count is %d", count);
cursor.forEach(function(doc) {
console.log(doc);
});
}
else{
console.log("Did not find any documents. Count is %d", count);
cursor.forEach(function(doc) {
console.log(doc);
});
}
});
私はcurrent_hash_val
に一致するコレクション内のいくつかのドキュメントを持っていますが、私のコードは常にelse
ステートメントにジャンプします。しかし、forEach
関数は、コンソールに印刷されたいくつかのレコードを表示します。誰かがカウント関数を間違って使用しているのか、これがMongoDBの部分の動作が間違っているのかを誰かが説明できますか?
ためcount exampleを確認することができます。このようなコールバックの最初のパラメータとして常に 'err'を受け入れるのが慣例ですか? – rafafan2010
はい、詳細については、このリンクをチェックしてください:http://fredkschott.com/post/2014/03/understanding-error-first-callbacks-in-node-js/(私はそれから学んだ) – andresk
君は! – rafafan2010