欢迎您访问DoraCMS 您可以登录 或注册
  • 微信客服:476847113微信客服
  • 微信公众号微信公众号
您现在的位置是:首页 > 前端开发

node.js 操作MongoDB 根据条件 随机取记录,怎么做?

doramart2015-07-02 11: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);


在本站的详情页,大家可以看到实现的效果:


QQ截图20150626133702.jpg

所有文章未经授权禁止转载、摘编、复制或建立镜像,违规转载法律必究。

举报邮箱:doramart@qq.com

相关标签: mongodb
取消回复
登录 参与评论

评论列表(