mongodb-query - 位置数据上的 MongoDB 聚合:如果没有移动,则跳过文档/行
问题描述
我有如下抽样的数据。
我想从 MongoDB 查询位置数据并跳过没有发生移动的行(或在我的情况下的文档)。我不能按位置(经度和纬度)分组,因为一个位置可以多次用作起点/终点。
基本上: $skip 如果 lat 和 lon 与文档中的时间戳相同,时间戳早于当前时间戳。
在示例中,我想跳过第二个和第四个文档。
我认为在聚合中使用 $skip 和 $cond 或 $lookup 操作应该可以实现。
提前致谢!
{
"_id": {"$oid": "5ee4dbe8d30bb8f72598731a"},
"vehicle": "CF729EE12AA98C3673266DF965FD89CB4C8D2E84",
"lat": 52.51312,
"lon": 13.317027,
"timestamp": {"$date": "2020-06-10T11:10:48.040Z"}
},
{
"_id": {"$oid": "5ee4dbe8d30bb8f725987c24"},
"vehicle": "CF729EE12AA98C3673266DF965FD89CB4C8D2E84",
"lat": 52.51312,
"lon": 13.317027,
"timestamp": {"$date": "2020-06-10T11:16:22.662Z"}
},
{
"_id": {"$oid": "5ee4dc21d30bb8f725a33905"},
"vehicle": "CF729EE12AA98C3673266DF965FD89CB4C8D2E84",
"lat": 52.53564,
"lon": 13.42169,
"timestamp": {"$date": "2020-06-11T15:57:50.290Z"}
},
{
"_id": {"$oid": "5ee4dc21d30bb8f725a3421d"},
"vehicle": "CF729EE12AA98C3673266DF965FD89CB4C8D2E84",
"lat": 52.53564,
"lon": 13.42169,
"timestamp": {"$date": "2020-06-11T16:03:23.421Z"}
}
]```
解决方案
推荐阅读
- react-typescript - React-PDF-Viewer 缩放功能不起作用
- html - 为什么本地主机上的 .html 文件和网上上传的 .html 文件存在差异?
- python - 在tkinter中将一个窗口一分为二
- java - 使用 Cucumber 和 Serenity 运行 springboot 时出错
- python - 编写相同代码的最有效方法
- javascript - React/Javascript 从数组和渲染中获取最大值和相应的标签
- python - 如何使用beautifulsoup在python中的特定td中提取href链接
- python - 在groupby之后获取除上一行之外的下一行
- excel - 水晶报表显示数据
- node.js - 机器人配置中的消息传递端点 gulp serve VS gulp ngrok-serve