MongoDB $ceil 运算符

2024 年 9 月 6 日 | 3 分钟阅读

MongoDB 提供了各种算术表达式运算符。$ceil 运算符是其中之一。 $ceil 运算符用于返回大于或等于指定数字的最小整数。

语法

要点

  1. 如果数字为 null,则 $ceil 运算符返回 null。
  2. 如果输入的值引用一个缺失的字段,则 $ceil 运算符返回 null。
  3. 如果数字是 NaN,则 $ceil 运算符返回 NaN。
示例输出
{ $ceil: 1 }1
{ $ceil: 9.1 }10
{ $ceil: -5.6 }-5

示例

在下面的示例中,我们将使用

{
        {
                "_id" : ObjectId("56254d4fdf2222265r4g12ds3d65f"),
                "std_name" : "Tin",
                "class" : "XI",   
                "gender" : "Female",
                "Father_name" : "Jonny", 
                "fees" : 5000,
                "exam_fees" : 500,
                "age" : 17,
                "grade" : 9.6,
                "Result" : "Pass"
        },
        {
                "_id" : ObjectId("56254d4fdf2222265r4g12ds37412"),
                "std_name" : "Olly",
                "class" : "X",   
                "gender" : "Female",
                "Father_name" : "Mike", 
                "fees" : 6000,
                "exam_fees" : 500,
                "age" : 16,
                "grade" : 8.4,
                "Result" : "Pass"
        },
        {
                "_id" : ObjectId("56254d4fdf2222265r4g12ds3d636"),
                "std_name" : "John",
                "class" : "XII",   
                "gender" : "Male",
                "Father_name" : "Jin", 
                "fees" : 10000,
                "exam_fees" : 500,
                "age" : 18,
                "grade" : 5.6
        },
        {
                "_id" : ObjectId("56254d4fdf2222265r4g121235489"),
                "std_name" : "Oliva",
                "class" : "VII",   
                "gender" : "Female",
                "Father_name" : "kinny", 
                "fees" : 3000,
                "exam_fees" : 500,
                "age" : 14,
                "grade" : 9.7,
                "Result" : "Pass"
        },
        {
                "_id" : ObjectId("56254d4fdf2222265r4g121235652"),
                "std_name" : "Marry",
                "class" : "VIII",   
                "gender" : "Female",
                "Father_name" : "Jonny", 
                "fees" : null,
                "exam_fees" : 500,
                "age" : 15,
                "grade" : 6.1,
                "Result" : "Pass"
        },
        {
                "_id" : ObjectId("56254d4fdf2222265r4g121236456"),
                "std_name" : "Paul",
                "class" : "IX",   
                "gender" : "Male",
                "Father_name" : "Kane", 
                "fees" : 5000,
                "exam_fees" : 500,
                "age" : 16,
                "grade" : {
                                  "internal" : 4.5,
                                  "external" : 7.4,     
                                }
                "Result" : "Pass"
        },
}	

示例 1:使用 $ceil 运算符

在本例中,我们将找到大于或等于女学生的 grade 字段的最小整数。

输出

{
                "_id" : ObjectId("56254d4fdf2222265r4g12ds3d65f"),
                "std_name" : "Tin",
                "class" : "XI",   
                "grade" : 9.6,
                "ceiling_grade" : "10"
},
{
                "_id" : ObjectId("56254d4fdf2222265r4g12ds37412"),
                "std_name" : "Olly",
                "class" : "X",   
                "grade" : 8.4,
                "ceiling_grade" : "9"
 },
 {
                "_id" : ObjectId("56254d4fdf2222265r4g121235489"),
                "std_name" : "Oliva",
                "class" : "VII",   
                "grade" : 9.7,
                "ceiling_grade" : "10"
 },
 {
                "_id" : ObjectId("56254d4fdf2222265r4g121235652"),
                "std_name" : "Marry",
                "class" : "VIII",   
                "grade" : 6.1,
                "ceiling_grade" : "7"
 },

示例 2:缺失的字段

在本例中,我们将 $ceil 运算符应用于“class XII”学生的“phone_no”字段。

输出

{
                "_id" : ObjectId("56254d4fdf2222265r4g12ds3d636"),
                "std_name" : "John",
                "ceiling_phone" : null
 },

示例 3:Null 值

在本例中,我们将 $ceil 运算符应用于“class VIII”学生的“fees”字段。

输出

{
                "_id" : ObjectId("56254d4fdf2222265r4g12ds3d636"),
                "std_name" : "Marry",
                " ceiling_fees" : null
 },

示例 4:MongoDB $ceil 运算符(检索嵌入文档中的数据)

在本例中,我们将找到大于或等于“class IX”学生的 grade.internal 字段的最小整数。

输出

{
             "_id" : ObjectId("56254d4fdf2222265r4g121236456"),
             "std_name" : "Paul",
             "class" : "IX",   
             "grade" : {
                          "internal" : 4.5
                             }
             "ceiling_grade" : 5
}