2011-06-28 5 views
1

MongoDB .count()を実行できません。MongoDB + Rails 3:1.8で.count()を実行するには?

@stats = ts.count({"from" => "[email protected]"}) 

そして、私は次のエラーを取得:

wrong number of arguments (1 for 0) 

が、私はここで何をしないのですか?ドキュメントはそれが動作するはずだと言います。

おかげ

+0

TS何ですか?より多くのコンテキストやコードを提供して、人々が何をしようとしているのか理解できるようにしてください。 – keymone

+0

私はcount()を実行しようとしています。 ts.count()を実行するとうまく動作します。私はcount()にいくつかの引数を渡したいと思います。 TSはコレクションです。 – silkwormy

+0

plsはコメント内のあなたの答えで質問を更新します。読みやすくなりました。 –

答えて

1

ts.find({=> "xpto @コム" "からは"})。(カウント)

+0

その解決策は動作しますが、戻すには時間がかかります。戻ってくる文書の数は70,000ほどで、30秒以上かかります。 – silkwormy

+0

findを使わずに.count()だけを使うと、300万のドキュメントを返すのに3秒かかります。 – silkwormy

+0

@silkwormy: "from"のインデックスはありますか?検索が大幅に改善されるはずです。 Btwは、カウント(フィルタ)関数があっても、パフォーマンスでは(フィルタ).count()よりもどのように違うと思いますか?それでもすべての文書を検査する必要があります。 –

関連する問題