MongoDB(Mongoose)数据库查询问题

Posted

技术标签:

【中文标题】MongoDB(Mongoose)数据库查询问题【英文标题】:MongoDB (Mongoose) database query question 【发布时间】:2022-01-15 18:30:18 【问题描述】:

我正在尝试从一个集合中获取所有未通过考试的文档。

我的收藏如下:

我必须检索所有例如 3 个分数低于 10 的学生。

我当前正在运行的查询如下:

Student.aggregate([
        
            $project: 
                _id: 0,
                name: 1,
                students: 
                    count: 
                        $size: 
                            $filter: 
                                input: "$results",
                                as: "result",
                                cond: $lt: ["$$result.score", 10]
                            
                        
                    
                
            
        
    ])

如何检查计数是否为 $gte,例如 3?

我当前的输出:

【问题讨论】:

【参考方案1】:

您已经几乎 100% 完成了!只需添加

$match: "students.count": $gte: 3

作为$project之后的一个阶段。

【讨论】:

以上是关于MongoDB(Mongoose)数据库查询问题的主要内容,如果未能解决你的问题,请参考以下文章

从两个数据库集合(Mongoose/MongoDB)中查询和匹配

MongoDB - Mongoose 查询 findOneAndUpdate() 不更新/复制数据库

MongoDB - Mongoose 查询 findOneAndUpdate() 不更新/复制数据库

设置 Mongoose 模式进行身份验证后,如何使用 Mongodb 查询数据库?

在 Angular 应用程序中使用 Mongoose 查询 MongoDB

MongoDB/mongoose 查询和 $in 运算符