【问题标题】:Get one column value from last record in mongo-db从 mongo-db 中的最后一条记录中获取一列值
【发布时间】:2021-01-23 07:20:50
【问题描述】:

我只想从 mongodb 的最后一条记录中获取一列值。

假设我的集合名称是:test

使用此查询获取最后一条记录:

 db.test.find({}).sort({'_id': -1}).limit(1) 

文件是:

 { "_id" : ObjectId("5f7c540b5e707b3df75bb844"), "date" : "2020-10-06", "time" : "16:55:00.216298"}
 { "_id" : ObjectId("5f7c542e5e707b3df75bb849"), "date" : "2020-10-06", "time" : "16:55:35.423938"} 

上面的查询会给我最后的记录。 现在我想从最后一条记录中获取日期值。我知道一种方法:

  db.test.find({},{'date':1}).sort({'_id': -1}).limit(1)   

但是假设我不知道日期索引,那么查询应该是什么?如果您可以在python中提供答案,可能会。

【问题讨论】:

  • “日期索引”是什么意思?您不使用“索引”来投影结果。您必须使用“字段名称”。如果您不知道所需字段的名称,则无法投影结果。

标签: python python-3.x mongodb mongodb-query pymongo


【解决方案1】:

要获得所需的结果,您可以使用聚合:

db.test.aggregate([{'$sort': {'_id': 1}},
                   {'$limit': 1},
                   {'$project': {'_id': 0, 'time': 0, 'date': 1}}])

【讨论】:

    猜你喜欢
    • 2011-08-18
    • 2017-05-08
    • 2012-02-13
    • 2021-06-25
    • 1970-01-01
    • 2018-11-23
    • 2019-12-28
    • 2021-03-21
    • 1970-01-01
    相关资源
    最近更新 更多