node.js 操作MongoDB 根据条件 随机取记录,怎么做?
doramart2015-07-02 03:36:49
大家在用nodejs做开发的过程中,很多时候有需求,需要操作mongodb获取随机的一些数据,在mysql中,好像通过rand()可以获取,但是mongodb没有这样的方法,当然是可以解决的。
大家在用nodejs做开发的过程中,很多时候有需求,需要操作mongodb获取随机的一些数据,在mysql中,好像通过rand()可以获取,但是mongodb没有这样的方法,当然是可以解决的。代码如下:
Content.find({'type' : 'content'}).count(function(err,count){ var randomNum = Math.floor(count*Math.random()); var randomList = Content.find({'type' : 'content'}).sort({'date':-1}).skip(randomNum).limit(4); res.render('web/temp/'+result.contentTemp+'/detail', { randomList : randomList, }); });
1、我们可以用过 Content.find().count 根据条件查询到符合条件的结果个数。
2、根据获取的个数通过Math方法取得随机数
Math.floor(count*Math.random())
3、将获取的随机数作为skip的参数查询返回到前端。
Content.find({'type' : 'content'}).sort({'date':-1}).skip(randomNum).limit(4);
在本站的详情页,大家可以看到实现的效果:
所有文章未经授权禁止转载、摘编、复制或建立镜像,违规转载法律必究。
举报邮箱:doramart@qq.com
推荐阅读