我有db mongdb示例,文档a和文档b
a_id type
1 1
2 2
3 3
4 4
现在。我想以与上例中相同的顺序提取表b中的最后N(1,2,3,4,5,....)值。但如果我使用跳过功能:
b.find().skip(M)
如果M> N然后结果为空=>错误。我想要动态M. 如果我使用排序和限制,那么它不会给出正确的顺序。
b.find().sort({$natural:-1}).limit(M)
结果:
4 4
3 3
我想要一个解决方案!
答案 0 :(得分:0)
您可以使用相同的skip()来访问集合中的最后N个文档。
N =要访问的前N个文档
所以查询是
b.find()。skip(b.count() - N).pretty()
或者您可以像使用
这样的javascript来玩mongo shellvar totalCount = b.count()
db.find()。skip(totalCount - N).pretty()