我想知道是否可以使用 perl MongoDB::Collection 模块从 mongo shell 中使用“in”运算符。我已经尝试了很多东西,但还没有得到我期望的结果。我已经检查了 stackoverflow 上的文档和其他帖子,但似乎找不到任何关于此的具体内容,除非我忽略了某些东西。
http://docs.mongodb.org/manual/reference/operator/query/in/
我通过 mongo shell 运行的计数查询是
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 运算符的唯一其他堆栈溢出帖子是这个$in mongoDB 运算符,perl 中带有 _id建议使用http://api.mongodb.org/perl/current/MongoDB/OID.html但不要认为这在我的示例中是相关的,因为它看起来更多地与 ID 相关。
任何帮助或讨论将不胜感激。