perl MongoDB::Collection モジュールを使用して、mongo シェルから「in」演算子を使用できるかどうか疑問に思っていました。いろいろ試してみましたが、期待したほどの結果が得られませんでした。ドキュメントやstackoverflowの他の投稿をチェックしましたが、何かを見落としていない限り、これについて具体的には何も見つけられないようです。
http://docs.mongodb.org/manual/reference/operator/query/in/
mongo シェル経由で実行しているカウント クエリは次のとおりです。
mongo:PRIMARY> db.getCollection("Results").count( { TestClass : "TestClass", TestMethod : { $in: ["method1" , "method2", "method3"] } })
181605
リストを配列またはハッシュ参照として渡すか、文字列を事前に作成するいくつかの異なる方法を試しました...
my $count = $mongo->{collection}->count({
'TimeStamp' => { '$gt' => $ft, '$lt' => $tt },
'TestClass' => $TestClass,
'TestMethod' => { '$in' => [$whitelist->methods] },
'Result' => $result
});
ダンピング$whitelist->methods
の場所
$VAR1 = {
'method1' => 1,
'method2' => 1,
'method3' => 1
};
私は答えを求めて高低を見てきましたが、ドライバーが現在このように $in 演算子を使用できるかどうかを知っている人はいますか? 前のクエリから返されたメソッドをループして結果を合計するには、さらに多くのコードが必要になります。
$in 演算子について私が見た他の唯一のスタック オーバーフローの投稿は、http: //api.mongodb.org/perl/current/MongoDB/OID.html の使用を推奨するperl の _id を持つこの $in mongoDB 演算子でしたが、考えないでくださいこれは、ID に関係しているように見えるので、私の例に関連しています。
どんな助けや議論も大歓迎です。