H5W3
当前位置:H5W3 > 其他技术问题 > 正文

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

本文地址:H5W3 » mongoose 如何多次查询不同类型的数据,并返回到前台页面?

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址