我已经开始学习MongoDB,但遇到了一个问题。我有一个名为server_logs的集合。
它包含以下列(SOURCE_SERVER、SOURCE_PORT、DESTINATION_PORT、DESTINATION_SERVER、MBYTES)。
我需要获取每个SOURCE_SERVER传输的MBYTES总量。(但还有一个要点是,如果任何源服务器也存在于目标服务器中,则它们的MBYTES也将添加到每个SOURCE_SERVER中)。
例如:我有以下表结构。
我希望在MongoDB中执行此查询,请帮忙。谢谢。
它包含以下列(SOURCE_SERVER、SOURCE_PORT、DESTINATION_PORT、DESTINATION_SERVER、MBYTES)。
我需要获取每个SOURCE_SERVER传输的MBYTES总量。(但还有一个要点是,如果任何源服务器也存在于目标服务器中,则它们的MBYTES也将添加到每个SOURCE_SERVER中)。
例如:我有以下表结构。
SOURCE S_PORT DEST D_PORT MBYTES
1)server1 446 server2 555 10MB
2)server3 226 server1 666 2MB
3)server1 446 server3 226 5MB
我需要以下结果:
Server1 17MB
Server3 7MB
我在MySQL中创建了一个查询,用于计算数据传输到该SOURCE的MBYTES的顶部SOURCE。 它工作正常,并且通过此查询在MYSQL中获得所需的结果。
SELECT SOURCE, DEST, sum( logs.MBYTES )+(
SELECT SUM(log.MBYTES) as sum
from logs as log
where logs.DEST=log.SOURCE
) AS MBYTES
我希望在MongoDB中执行此查询,请帮忙。谢谢。