繁体   English   中英

使用node.js从MongoDB中选择最后N条记录

[英]Select last N records from MongoDB using node.js

注意:我已经看到了另一个问题并尝试了答案而没有运气。

我在MongoDB中有一个集合:

{ _id: 1, category_id: 1, time_added: 1234567890, name: "abc" }

我需要找到category_id最后10个条目等于10 声音简单?

collection.find({ 'category_id': 10 }, {}, { _id: -1, limit : 10}, function (e, d) {});

但运行这个给我 10个记录而不是最后10个。看起来像驱动程序优先“限制”而不是“排序”...我也尝试使用$natural并在time_added上进行time_added 每当我从命令行运行相同的查询时 - 我得到了我需要的东西。 这是我输入命令行的内容:

collection.find({ 'category_id': 10 }).sort({_id: -1}).limit(10)

我究竟做错了什么? 是否有另一种方法可以使用node.js执行此操作?

结果是node.js以与命令行界面相同的方式接受函数调用。 每个函数都有最后一个可选参数作为回调函数。 所以这段代码运行并返回正确的结果:

collection.find({ 'category_id': 10 }).sort({_id: -1}).limit(10, function (e, d) {})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM