如题,在跟着这个课程,写一个博客系统,不过我想把里面用mongodb写的部分改成mongoose的方法。取文章这里遇到了些问题,原文是这样写的。Post.getTen=function(name,page,callback){//打开数据库mongodb.open(function(err,db){if(err){returncallback(err);}//读取posts集合db.collection('posts',function(err,collection){if(err){mongodb.close();returncallback(err);}varquery={};if(name){query.name=name;}//使用count返回特定查询的文档数totalcollection.count(query,function(err,total){//根据query对象查询,并跳过前(page-1)*10个结果,返回之后的10个结果collection.find(query,{skip:(page-1)*10,limit:10}).sort({time:-1}).toArray(function(err,docs){mongodb.close();if(err){returncallback(err);}//解析markdown为htmldocs.forEach(function(doc){doc.post=markdown.toHTML(doc.post);});callback(null,docs,total);});});});});};获得总数是用来判断是否为最后一页的,但是我用mongoose写的话不知道该如何获取查询到查询结果的总数,写到这样不知道如何写了Post.getFive=function(name,page,callback){varquerystr={};if(name){querystr.name=name;}varquery=Post.find(querystr).skip((page-1)*5).limit(5);query.sort({time:-1});query.exec(function(err,results){if(err){console.log(err);}else{results.forEach(function(doc){doc.post=markdown.toHTML(doc.post);});console.log(total);callback(null,results,total);}})}求大神指点下。。。
2 回答
回首忆惘然
TA贡献1847条经验 获得超11个赞
Mongoose里面是使用Model#count来获得数量的。看起来你这里的Post应该就是个model吧,使用Post.count加上合适的条件就行了。
添加回答
举报
0/150
提交
取消