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

发布于 2022-09-03 09:16:37 字数 540 浏览 18 评论 0

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

誰認得朕 2022-09-10 09:16:37

查询条件这么写:

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文