javascript - mongoose 如何多次查询不同类型的数据,并返回到前台页面?

查看:165
本文介绍了javascript - mongoose 如何多次查询不同类型的数据,并返回到前台页面?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

比方说集合名为 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三类数据,并将它们返回到前台。该如何写呢?

解决方案

查询条件这么写:

{'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);

这篇关于javascript - mongoose 如何多次查询不同类型的数据,并返回到前台页面?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆