在MongoDB中,我们可以使用$cond
、$ifNull
等操作符来实现类似于else if语句的功能,下面是一些常用的操作符及其用法:
1、$cond
操作符
$cond
操作符用于根据给定的条件返回不同的值,它接受三个参数:条件表达式、满足条件时返回的值和不满足条件时返回的值。
语法:
{ $cond: { if: <expression>, then: <true_case>, else: <false_case> } }
示例:
假设我们有一个名为students
的集合,其中包含以下文档:
{ "_id": 1, "name": "张三", "score": 85 } { "_id": 2, "name": "李四", "score": 90 } { "_id": 3, "name": "王五", "score": 78 }
我们想要根据学生的分数给他们打上等级标签,可以使用$cond
操作符实现:
db.students.aggregate([ { $addFields: { grade: { $cond: [ { $gte: ["$score", 90] }, "A", { $cond: [ { $gte: ["$score", 80] }, "B", { $cond: [ { $gte: ["$score", 70] }, "C", "D" ] } ] } ] } } } ])
2、$ifNull
操作符
$ifNull
操作符用于检查一个值是否为null,如果为null则返回指定的默认值,否则返回原始值。
语法:
{ $ifNull: [ <expression>, <default_value> ] }
示例:
假设我们有一个名为employees
的集合,其中包含以下文档:
{ "_id": 1, "name": "张三", "department": null } { "_id": 2, "name": "李四", "department": "技术部" } { "_id": 3, "name": "王五", "department": "市场部" }
我们想要查询员工的姓名和部门,如果部门为null,则显示"未知",可以使用$ifNull
操作符实现:
db.employees.aggregate([ { $addFields: { department: { $ifNull: ["$department", "未知"] } } } ])
通过这些操作符,我们可以在MongoDB中实现类似于else if语句的功能。
最新评论
本站CDN与莫名CDN同款、亚太CDN、速度还不错,值得推荐。
感谢推荐我们公司产品、有什么活动会第一时间公布!
我在用这类站群服务器、还可以. 用很多年了。