我想在 mongodb 中运行一个查询,如下所示(在 SQL 中)。输出应存储到游标中。
SELECT ipv4 src, SUM(flags)
FROM table
WHERE starttime > 1262300400 AND endtime < y AND port dst = 22
GROUP BY ipv4, src
我读了http://docs.mongodb.org/manual/reference/aggregation/group/
并尝试过
myCursor = db.mycol.find( [
{$group:{ _id: "$src",total:{$sum:"$flags"}}},
{$match:{$and:[{"dst":22},
{$and:[{"starttime":{$gt:1262300400}},{"endtime":{$lt:1264978800}}]}]}
} ]);
但它失败了。
顺便说一句:我可以通过检查它们之间的范围来在两个 unix 时间戳之间进行搜索吗?在上面的示例中,我尝试搜索介于1262300400
和之间的时间1264978800