文章有2个属性 一个是热度,一个是时间. 我想获取热度最高的4篇文章之后,去除这4篇文章,其他的按时间排序 mongodb要怎么写呀 获取4篇我知道怎么弄 后面代码要怎么写
写在获取文章方法的callback里面就可以了, 在callback里面执行删除文章。
不是要 删除掉 只是想跳过而已 问题是怎么写 才能既要去除热度前4,而且排序还要按时间排 callback里面 可以按时间排序?
感觉只能把结果扫描一遍勒~
db.posts.aggregate([ { $sort: { hotness: -1 } }, { $skip: 4 }, { $sort: { updateAt: -1 } }, { $limit: 20 } // optional ], function(err, docs) { })
aggregate稍微查了下 要的就是这种函数 待会去试试 谢了
@taufik
顺便可以去看看 mongodb 的 mapreduce。aggregate 是简化版。