欢迎您访问宜州一中 您可以登录 或注册
 
收藏本站 简繁转换
一方天地育桃李,三尺讲台竞风采             宜州区一中在宜州博物馆举行“人杰地灵读宜州”故事分享会             宜州一中举行2024届中考百日誓师大会             龙腾启新 筑梦未来 ——宜州区第一中学欢庆2024年元旦文艺晚会             走进嘉联丝厂 畅享研学之乐 ——宜州区第一中学开展研学实践活动             2023年河池市宜州区第一中学/宜州区红卫学校家庭经济困难大学新生入学资助项目发放名册(第二批)             展科技志向,圆飞行梦想 ——宜州区一中2025届举行无人机大赛             2023年河池市宜州区第一中学\红卫学校 家庭经济困难大学新生入学资助项目发放名册(第一批)             法制进校园 以法促成长 ——宜州一中举行“三姐护蕾”法治进校园活动             “英”你精彩,“语”你同行 —— 我校2025届举行英文风采大赛            

DoraCMS

您现在的位置是:首页>文档内容页

文档详情

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

doramart 2024-05-12 02:56:24 技术文档233279
大家在用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

文章评论

取消回复
登录 参与评论

评论列表(