您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> 其他数据库 >> mongodb如何获得集合中所有最后更新的一批数据?

mongodb如何获得集合中所有最后更新的一批数据?

来源:网络整理     时间:2018/1/27 1:40:04     关键词:

关于网友提出的“ mongodb如何获得集合中所有最后更新的一批数据?”问题疑问,本网通过在网上对“ mongodb如何获得集合中所有最后更新的一批数据?”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: mongodb如何获得集合中所有最后更新的一批数据?
描述:

标题的表述应该有问题。不过不知道怎么简单描述。

情况是这样的,一个集合,每隔几天会更新一批数据,他们都有当天统一的一个时间戳。
有没有一种更有效率的写法能够直接获得所有时间戳为最近的记录的方法?

目前的处理手法是
collection.find().sort('timestamp', pymongo.DESCENDING).limit(1)
得到一个最近的一个时间戳

然后在
collection.find({‘timestamp’:最近时间戳})

总觉得在哪看到过更简洁的写法,
求助。


解决方案1:

综合考虑效率和难易程度,我觉得你这样写法没有问题,除此之外我也没有想出来特别好的替代方案。不知道你说的『更简洁』的写法是不是aggregation中group+$push的写法。如果是的话那样的写法不如现在的效率好,并且有返回结果过大时异常的可能性。
不过有些额外的问题我想说明一下。即使是一批更新的数据,timestamp不见得一样吧;或者说不是一批更新的文档timestamp不见得不一样。要区分『一批更新』这个概念,同一批更新的文档必须要有一个唯一的『批次号』,可以是ObjectId或是GUID。建议ObjectId,它比较短所以性能略好。


以上介绍了“ mongodb如何获得集合中所有最后更新的一批数据?”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/4536200.html

相关图片

相关文章