上一篇
MongoDB中的else if语句详解
- 行业动态
- 2024-04-16
- 1
在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语句的功能。
本站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本站,有问题联系侵删!
本文链接:http://www.xixizhuji.com/fuzhu/294396.html