首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MongoDB查询不向我查询的字段显示该值。

MongoDB查询不向我查询的字段显示该值。
EN

Stack Overflow用户
提问于 2018-03-26 18:39:59
回答 2查看 41关注 0票数 0

是的,所以我试着查询一下,找出五大海拔最高的飞机。我用了

我得到了飞行前5高度的飞机名,然而,实际高度是未显示

有人知道为什么会这样吗?

我的代码:

代码语言:javascript
运行
复制
db.planes.aggregate([
{$group:{_id:"$hex_id", altitude:{$max:"$altitude"}}},
{$sort:{altitude:-1}},
{$limit: 5}
])

编辑:发现替换$hex_id (与数据集中的flight_id相同)只显示了高度,但现在显示了航班号。所以我需要弄清楚如何让两人同时出现。现在就在做这个。

任何帮助都是非常感谢的。

样本数据集:

代码语言:javascript
运行
复制
msg_dummy   msg_type    flight_id   aircraft_id date    time    latitude    longitude   altitude    ground_speed    heading dummy1
MSG 1   AAL233  AC3558  20130911    74233                       
MSG 3   AAL233  AC3558  20130911    74234   29.19579    -80.97435   37975           
MSG 3   AAL233  AC3558  20130911    74234   29.19458    -80.97398   37975           
MSG 3   AAL233  AC3558  20130911    74237   29.18979    -80.97247   37975           
MSG 4   AAL233  AC3558  20130911    74237   29.18979    -80.97247   37975   449 164 0
MSG 1   N192NC  A170C8  20130911    74239                       
MSG 4   N192NC  A170C8  20130911    74240       456 359 -64     
MSG 4   N192NC  A170C8  20130911    74241       456 359 -64     
MSG 3   AAL233  AC3558  20130911    74242   29.17894    -80.96902   38000   449 164 0
MSG 4   AAL233  AC3558  20130911    74242   29.17894    -80.96902   38000   449 164 0
MSG 4   AAL233  AC3558  20130911    74242   29.17894    -80.96902   38000   449 164 0
MSG 1   AAL233  AC3558  20130911    74243   29.17894    -80.96902   38000   449 164 0
MSG 1   N192NC  A170C8  20130911    74243       456 359 -64     
MSG 4   N192NC  A170C8  20130911    74244       457 359 -64     
MSG 3   N192NC  A170C8  20130911    74244   29.94985    -81.14469   41000   457 359 -64
MSG 3   AAL233  AC3558  20130911    74244   29.17494    -80.96773   38000   449 164 0
MSG 4   AAL233  AC3558  20130911    74244   29.17494    -80.96773   38000   449 164 0
MSG 4   N192NC  A170C8  20130911    74244   29.94985    -81.14469   41000   457 359 -64
MSG 3   AAL233  AC3558  20130911    74245   29.17392    -80.96744   38000   449 164 0
MSG 4   N192NC  A170C8  20130911    74245   29.94985    -81.14469   41000   457 359 -64
MSG 3   AAL233  AC3558  20130911    74245   29.17273    -80.96702   38000   449 164 0
MSG 3   AAL233  AC3558  20130911    74246   29.17173    -80.96671   38000   449 164 0
MSG 4   AAL233  AC3558  20130911    74246   29.17173    -80.96671   38000   449 164 0
MSG 4   AAL233  AC3558  20130911    74247   29.17173    -80.96671   38000   449 164 0
MSG 4   AAL233  AC3558  20130911    74247   29.17173    -80.96671   38000   449 164 0
MSG 3   AAL233  AC3558  20130911    74247   29.1681 -80.96558   38000   449 164 0
MSG 3   AAL233  AC3558  20130911    74248   29.1671 -80.96528   38000   449 164 0
MSG 4   AAL233  AC3558  20130911    74250   29.1671 -80.96528   38000   449 164 0
MSG 3   AAL233  AC3558  20130911    74251   29.16088    -80.96331   38000   449 164 0
MSG 3   AAL233  AC3558  20130911    74253   29.15666    -80.962 38000   449 164 0
MSG 4   N192NC  A170C8  20130911    74254   29.94985    -81.14469   41000   457 359 -64
MSG 4   AAL233  AC3558  20130911    74255   29.15666    -80.962 38000   449 164 0
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-03-26 18:51:03

代码语言:javascript
运行
复制
db.planes.aggregate([
 {$match:{"altitude":{$gte:0}}},
 {$group:{_id:"$hex_id", altitude:{$max:"$altitude"}}},
 {$sort:{rating:-1}},
 {$limit: 5}
])

您可能缺少match条件,除非您添加它,否则也会考虑空值,并且在排序时可能会到达顶部。甚至有可能在文档中没有特定的字段。

除非您提供JSON格式的示例数据,否则我无能为力。如果您正在使用MongoDB,您应该处理JSON/BSON格式。

票数 0
EN

Stack Overflow用户

发布于 2018-03-26 18:59:01

使用下面的代码

代码语言:javascript
运行
复制
db.planes.aggregate([
 {$match:{"altitude":{$gte:0}}},
 {$group:{_id:"$_id", "altitude":{$first:"$altitude"}}},
 {$sort:{altitude:-1}},
 {$limit: 5}
])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49498436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档