Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json 分析嵌套Bson输入_Json_Mongodb_Pentaho_Bson - Fatal编程技术网

Json 分析嵌套Bson输入

Json 分析嵌套Bson输入,json,mongodb,pentaho,bson,Json,Mongodb,Pentaho,Bson,我正在从Mongo DB获取输入。布局示例如下: { "_id" : "CLIENT1:11860, "clientName" : "CLIENT1", "startTime" : { "$date" : 1407470732000 }, "endTime" : { "$date" : 1407472532000 }, "espSentStats" : { "SENT_CLIENT1" : { "TRIGGER1" : 6 }, "SENT_CLIENT2" : { "TRIGGER2" : 8

我正在从Mongo DB获取输入。布局示例如下:

{ "_id" : "CLIENT1:11860, "clientName" : "CLIENT1", "startTime" : { "$date" : 1407470732000 }, "endTime" : { "$date" : 1407472532000 }, "espSentStats" : { "SENT_CLIENT1" : { "TRIGGER1" : 6 }, "SENT_CLIENT2" : { "TRIGGER2" : 8 } } } 

{ "_id" : "CLIENT1:15108, "clientName" : "CLIENT1", "startTime" : { "$date" : 1407470732000 }, "endTime" : { "$date" : 1407472532000 }, "espSentStats" : { "SENT_CLIENT2" : { "TRIGGER3" : 2 } } } 
复杂的是,发送的客户端或触发器没有固定的发生频率

可能有一个或多个SENT_客户端具有一个或多个触发器

它全部嵌套在espSentStats中。我需要每个发送的客户端和触发器的计数

我如何解析它


就技术堆栈而言,我可以访问MongoDB、UNIX和Pentaho。

您能详细描述一下您的数据和用例吗?我认为你想考虑一个不同的数据模型,但是我不想在没有正确理解用例的要求的情况下提出建议。让我试着解释一下数据。这里id、clientname、endtime、senttime将在每行出现一次。在espSentStats中,有ClientName。在每个clientName中,都有触发器及其相应的计数。可以有一个或多个客户端名称。甚至一个clientname也可能出现多次,因为它可能有多个触发器值。