当前位置: 首页 > article >正文

MongoDB 的批量查找符号

一、`$in` 操作符

1. 功能

`$in` 操作符用于匹配字段值等于指定数组中任意值的文档,能批量查找多个特定值的文档。

2. 语法示例

db.collection.find({ field: { $in: [value1, value2, ...] } });

3. 代码示例

假设有个名为 `users` 的集合,里面存有用户信息,若要查找 `age` 为 20、25 或 30 的用户,可使用以下代码:

db.users.find({ age: { $in: [20, 25, 30] } });

二、`$nin` 操作符

1. 功能

`$nin` 是 `$in` 的反操作符,用于匹配字段值不在指定数组中的文档,可批量排除多个特定值的文档。

2. 语法示例

db.collection.find({ field: { $nin: [value1, value2, ...] } });

3. 代码示例

还是在 `users` 集合中,若要查找 `age` 不是 20、25 或 30 的用户,可使用以下代码:

db.users.find({ age: { $nin: [20, 25, 30] } });

三、`$or` 操作符

1. 功能

`$or` 操作符能将多个查询条件组合起来,只要满足其中一个条件的文档就会被返回,可用于批量查找符合多个不同条件的文档。

2. 语法示例

db.collection.find({

    $or: [

        { condition1 },

        { condition2 },

        ...

    ]

});

3. 代码示例

在 `users` 集合中,若要查找 `age` 为 20 或者 `name` 为 "John" 的用户,可使用以下代码:

db.users.find({

  $or: [{ age: 20 }, { name: "John" }],

});

四、`$and` 操作符

1. 功能

`$and` 操作符将多个查询条件组合,文档必须同时满足所有条件才会被返回,常用于批量查找同时符合多个条件的文档。

2. 语法示例

db.collection.find({

    $and: [

        { condition1 },

        { condition2 },

        ...

    ]

});

3. 代码示例

在 `users` 集合中,若要查找 `age` 大于 20 且 `name` 为 "John" 的用户,可使用以下代码:

db.users.find({

  $and: [{ age: { $gt: 20 } }, { name: "John" }],

});

五、范围查询操作符(`$gt`、`$lt`、`$gte`、`$lte`)

1. 功能

这些操作符能批量查找字段值在某个范围内的文档,`$gt` 表示大于,`$lt` 表示小于,`$gte` 表示大于等于,`$lte` 表示小于等于。

2. 语法示例

// 大于

db.collection.find({ field: { $gt: value } });

// 小于

db.collection.find({ field: { $lt: value } });

// 大于等于

db.collection.find({ field: { $gte: value } });

// 小于等于

db.collection.find({ field: { $lte: value } });

3. 代码示例

在 `users` 集合中,若要查找 `age` 大于 20 且小于 30 的用户,可使用以下代码:

db.users.find({ age: { $gt: 20, $lt: 30 } });


http://www.kler.cn/a/545211.html

相关文章:

  • 青少年编程与数学 02-009 Django 5 Web 编程 11课题、模板系统
  • MySQL 2025 January GA Releases 都发布了啥功能[译]
  • IPoIB模块初始化过程详解
  • HCIA项目实践---OSPF的知识和原理总结
  • 【后端开发】面试题-redis
  • 3.【线性代数】——矩阵乘法和逆矩阵
  • 迅投QMT程序化交易系统-行情和交易服务器连接、中断和再连接
  • Github访问不了解决方案(Mac)
  • leetcode 2684. 矩阵中移动的最大次数
  • 【Unity3D优化】AssetBundle的压缩格式优化
  • C# ASP.NET的未来发展趋势
  • 【Vue3源码解析】应用实例创建及页面渲染
  • P1878 舞蹈课(详解)c++
  • 排序之选择排序(C# C++)
  • 《软件设计模式:构建高质量软件的基石》
  • Unity Shader Graph 2D - Procedural程序化图形酷炫的动画圆环
  • 2月12日鸿蒙生态日日新PLOG,多款应用上架
  • 前瞻技术:塑造未来生活的新趋势
  • 【WIN】桌面时钟使用笔记/桌面时钟推荐/win大屏时钟
  • STM32单片机示例:双核单片机点灯与调试(STM32H7x5 H7x7)