node.js 操作MongoDB 根据条件 随机取记录,怎么做?
大家在用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);
在本站的详情页,大家可以看到实现的效果:
很赞哦! ( 0
)
相关文章
- Nodejs 内容管理系统 DoraCMS 2.1.6 发布
- Visual Studio Online 更新!更好支持Docker、Python、Go、C++
- 利用 html2canvas 生成文章缩略图
- 纪录片《穹顶之下》全集103分钟1080P高清完整视频
- DoraCMS v2.1.5 版本更新
- DoraCMS v2.1.2 Docker 版本(生产环境)
- Nodejs 内容管理系统 DoraCMS 2.1.4 发布
- DoraCMS 插件化探索(一)
- DoraCMS 2.1.4 关于 '指定用户' 功能的优化说明
- DoraCMS 2.1.4 (发布版非源码) 抢先体验
- angularjs filter 详解
- angularJs的html转义过滤器