如何获取mongodb中的最后N条记录?

我找不到任何记录在案的文件。默认情况下,find()操作将从头开始获取记录。如何获取mongodb中的最后N条记录?

编辑:我也希望返回的结果从最近到最近排序,而不是相反。


函数式编程
浏览 3428回答 3
3回答

一只斗牛犬

如果我理解您的问题,则需要按升序排序。假设您有一些名为“ x”的id或日期字段,则可以...。分类()db.foo.find().sort({x:1});的1将升序(最旧到最新)和-1将降序(从最新到最旧的)。如果您使用自动创建的_id字段,则该字段中嵌入了日期...因此您可以使用该日期排序...db.foo.find().sort({_id:1});这将返回从最旧到最新的所有文档。自然秩序您还可以使用上述自然顺序 ...db.foo.find().sort({$natural:1});同样,根据需要的顺序使用1或-1。使用.limit()最后,优良作法是在进行这种广泛开放的查询时添加一个限制,这样您就可以...db.foo.find().sort({_id:1}).limit(50);要么db.foo.find().sort({$natural:1}).limit(50);

慕雪6442864

为了获得最后的N条记录,您可以执行以下查询:db.yourcollectionname.find({$query: {}, $orderby: {$natural : -1}}).limit(yournumber)如果您只想要最后一条记录:db.yourcollectionname.findOne({$query: {}, $orderby: {$natural : -1}})注意:您可以使用集合中的其中一列来代替$ natural。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

MongoDB