Mongodb:从文档中的数组获取最后一项

时间:2019-02-22 09:13:38

标签: mongodb

我在MongoDB中有一个集合,其中的元素看起来像这样

{
  userId: 'X',
  access: [
    { deviceId: 'a', time: "A timestamp" },
    { deviceId: 'b', time: "Another timestamp" },
  ]
}

我想根据userId匹配文档,然后我想获取访问数组中的最后一个元素。对于ID为“ X”的用户,我在这里最感兴趣的值是“另一个时间戳记”。

我不希望mongodb返回整个文档,仅返回最后一个元素,并且始终返回最后一个。

如何编写查询/聚合来解决此问题?

1 个答案:

答案 0 :(得分:1)

尝试使用$slice

db.collection.find({ userId: 'value' }, { access: { $slice: -1 } } )