mongoose Model.find() skip与sort的命令失败。
仿照nodeclude的首页代码想要实现分页功能。调用Model.find(query, callback)操作如下: XXX.find({skip: 0, limit: 20, sort: "-createtime"}, function() {...}); 但是上面这种方式查询的结果为空。 如果query的值是{}, 或者{name: "xiaoming"}这样的按值查询,都没有问题。sort, limit, skip等操作都会有问题,即查询结果为空......求问为什么?!
mongoose的版本是3.8.16, mongodb的版本是2.6。
9 回复
XXX.find({},null,{skip: 0, limit: 20, sort:{ "-createtime":1}}, function() {...});
应该是这样吧
Model.find(conditions, [fields], [options], [callback])
Parameters:
conditions <Object>
[fields] <Object> optional fields to select
[options] <Object> optional
[callback] <Function>我一般很少这么写, 还是喜欢链式调用.
XXX.find().skip(0).limit(20).sort({"-createtime":1}).exec(function(){...})
... if(...) where = ...; if(...) where = ...; var query = Test.find(where).skip(skip).limit(limit).sort(sort); query.exec(cb); ...