Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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
Javascript Mongodb查询以从最终结果中删除时间戳小于1秒的冗余字段_Javascript_Node.js_Mongodb_Mongoose - Fatal编程技术网

Javascript Mongodb查询以从最终结果中删除时间戳小于1秒的冗余字段

Javascript Mongodb查询以从最终结果中删除时间戳小于1秒的冗余字段,javascript,node.js,mongodb,mongoose,Javascript,Node.js,Mongodb,Mongoose,我拥有的收藏的名称 1)设备: _id、设备id(字符串)、设备信息、公司id(字符串) 2)手机: _id、companyId(字符串)、tagId(字符串)、mobileInfo 3)跟踪: _id、DeviceID(字符串)、TagID(字符串)、trackInfo、时间戳(以毫秒为单位) 我需要建立一个查询来获取给定公司ID的所有跟踪数据(包括移动数据和设备数据)。每家公司都有: 一个或多个具有不同tagId的移动数据 具有deviceId的一个或多个设备数据 由TagID和Device

我拥有的收藏的名称
1)设备: _id、设备id(字符串)、设备信息、公司id(字符串)

2)手机: _id、companyId(字符串)、tagId(字符串)、mobileInfo

3)跟踪: _id、DeviceID(字符串)、TagID(字符串)、trackInfo、时间戳(以毫秒为单位)

我需要建立一个查询来获取给定公司ID的所有跟踪数据(包括移动数据和设备数据)。每家公司都有:

  • 一个或多个具有不同tagId的移动数据
  • 具有deviceId的一个或多个设备数据
  • 由TagID和DeviceID标识的一个或多个跟踪数据
  • 最终结果应包含下列字段: DeviceID、deviceInfo、companyId、TagID、mobileInfo、trackInfo、时间戳。
    要应用于查询的条件:
    跟踪集合可以有每秒的文档,在某些情况下,所有字段都是相同的(除了时间戳相差1秒)。我不希望那些看起来多余的文档实现这一点 我们可以使用以下条件:如果最终结果的相邻行相同,无论它们的时间戳差异是否小于1秒,然后其中一行不应该出现在最终结果上。我有一个工作查询,它将返回带有上述字段的文档,但对于冗余行为,我在对查询返回的文档应用“循环”查询后进行了检查,如下所示。现在,我需要在查询本身上实现以下逻辑。
    注意:跟踪集合有数百万个文档,因此请注意可能影响性能的查询

    //grid是mongodb使用query返回的文档数组。
    
    对于(var k=1;kPlease,您可以共享当前的查询吗?生成循环中使用的结果的查询。@OTZ首先我查询移动集合以获取与给定公司ID匹配的移动文档。例如:mobile.find({companyId:givenOne})。查询设备集合以获取与给定公司ID.device.find匹配的设备文档({companyId:givenOne})。最后,我查询跟踪集合以获取TagID位于移动文档中的文档TagID和设备文档DeviceID.tracking.find({TagID:{$in:mobileDocsTagId},DeviceID:{$in:deviceDocsTagId}).对于最终结果的字段,我使用了另一个循环在trackingDocs上添加mobileInfo、deviceInfo。由于文档数量很大,我最终使用了多个查询,就像使用查找一样,db花了5分钟多的时间才给出响应。