当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


MongoDB $and用法及代码示例


简介

MongoDB 提供了多种逻辑查询操作符。 $and 运算符是这些运算符之一。 $and 运算符用于对一个或多个表达式的数组执行逻辑与运算。用户可以根据需要在 find()、update() 等方法中使用该运算符。

用户还可以在逗号 (,) 的帮助下使用 "AND operation"。 $and 运算符使用短路评估。当用户在多个表达式中指定相同的字段或运算符时,用户可以使用“$AND 运算”。

例如,假设有两个表达式(e1 和 e2)。如果第一个表达式 (e1) 的计算结果为假,则不会计算第二个表达式 (e2)。

用法:

{ $and:[ { Expression 1 }, { Expression 2 }, { Expression 3 }, ..., { Expression N } ] }
or
{ { Expression 1 }, { Expression 2 }, { Expression 3 },..., { Expression N }}

例子:

在以下示例中,我们正在使用:

Database:JavaTpoint
Collection:Student
Document:Six documents that contain the details of the students
[
        {
                "std_name":"Jack",
                "sex":"Male",
                "class":"VI",
                "age":11,
                "grd_point":33
        },
        {
                "std_name":"Jenny",
                "sex":"Female",
                "class":"VI",
                "age":13,
                "grd_point":30
        },
        {
                "std_name":"Thomas",
                "sex":"Male",
                "class":"V",
                "age":11,
                "grd_point":35.1257
        },
        {
                "std_name":"Lassy",
                "sex":"Female",
                "class":"X",
                "age":17,
                "grd_point":36.2514
        },
        {
                "std_name":"Mia",
                "sex":"Female",
                "class":"X",
                "age":19,
                "grd_point":35.5201
        }
       {
                "std_name":"Mike,
                "sex":"Male",
                "class":"V",
                "age":16,
                "grd_point":35.5201
        }
]

使用 $and 运算符匹配两个条件值:

在此示例中,我们仅从满足以下条件的学生那里获取文档:

  1. 学生的 "Class" 是 VI。
  2. 学生的 "Sex" 是女性。
>db.student.find({$and:[{"sex":"Female"}, {"class":"VI"}]}).pretty();

SQL等效命令:

SELECT * 
FROM student 
WHERE sex = "Female" AND class = "VI";

输出:

MongoDB $and Operator

注意:find() 方法以非结构化格式显示文档,因此它使用 pretty() 方法以格式化方式显示结果。

使用 $and 运算符匹配多个条件值

在此示例中,我们仅从满足以下条件的学生那里获取文档:

  1. 学生的 "Age" 是 17。
  2. 学生的 "Sex" 是女性。
  3. 学生的 "Class" 是 X。
>db.student.find({$and:[{"sex":"Female"}, {"grd_point":{ $gte:31 }}, {"class":"X"}]}).pretty();

SQL等效命令:

SELECT * 
FROM student 
WHERE sex = "Female" AND grd_point >= 31 AND class = "X";

输出:

MongoDB $and Operator



相关用法


注:本文由纯净天空筛选整理自 MongoDB $and Operator。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。