javascript - mongoose 如何多次查询不同类型的数据,并返回到前台页面?
迷茫
迷茫 2017-04-11 11:53:52
[JavaScript讨论组]

比方说集合名为 post,我要查询类型A 的数据,并将该类型的数据倒叙返回到前台页面,可以这么写:

post.find({type: 'A'}).sort({_id: -1}).exec(function(err, docs) {
    if (err) {
        console.error(err);
        return;
    }
    var typeAData = docs;
    res.render('index', { title: '首页', typeAData: typeAData});
});

但如果我现在要查询类型A、类型B、类型C 三个类型的数据,并把这三类数据返回到前台页面,该怎么写呢?

因为 res.render 必须写到查询数据(post.find)的回调函数里面,而这三个类型的数据属于并列关系,所以我不能查询 A 后,再嵌套查询 B,再嵌套查询 C。

那要查询类型A、B、C三类数据,并将它们返回到前台。该如何写呢?

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(1)
伊谢尔伦

查询条件这么写:

{'type':{$in:['A','B','C']}}

结果这么处理:
typeadata = docs.filter(i=>i.type=='A');
typebdata = docs.filter(i=>i.type=='B');
typecdata = docs.filter(i=>i.type=='C');

如果只取前5个:
typeadata = docs.filter(i=>i.type=='A').slice(0,5);
typebdata = docs.filter(i=>i.type=='B').slice(0,5);
typecdata = docs.filter(i=>i.type=='C').slice(0,5);

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号