MongoDB 的批量查找符号

一、`$in` 操作符

1. 功能

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

2. 语法示例

javascript 复制代码
db.collection.find({ field: { $in: [value1, value2, ...] } });

3. 代码示例

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

javascript 复制代码
db.users.find({ age: { $in: [20, 25, 30] } });

二、`$nin` 操作符

1. 功能

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

2. 语法示例

javascript 复制代码
db.collection.find({ field: { $nin: [value1, value2, ...] } });

3. 代码示例

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

javascript 复制代码
db.users.find({ age: { $nin: [20, 25, 30] } });

三、`$or` 操作符

1. 功能

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

2. 语法示例

javascript 复制代码
db.collection.find({

    $or: [

        { condition1 },

        { condition2 },

        ...

    ]

});
  1. 代码示例

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

javascript 复制代码
db.users.find({

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

});

四、`$and` 操作符

1. 功能

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

2. 语法示例

javascript 复制代码
db.collection.find({

    $and: [

        { condition1 },

        { condition2 },

        ...

    ]

});

3. 代码示例

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

javascript 复制代码
db.users.find({

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

});

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

1. 功能

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

2. 语法示例

javascript 复制代码
// 大于

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 的用户,可使用以下代码:

javascript 复制代码
db.users.find({ age: { $gt: 20, $lt: 30 } });
相关推荐
2401_874732534 小时前
为你的Python脚本添加图形界面(GUI)
jvm·数据库·python
Chengbei115 小时前
Redis 图形化综合检测工具:redis_tools_GUI,一键探测 + 利用
数据库·redis·web安全·网络安全·缓存·系统安全
hutengyi5 小时前
PostgreSQL的备份方式
数据库·postgresql
mldlds6 小时前
MySQL加减间隔时间函数DATE_ADD和DATE_SUB的详解
android·数据库·mysql
Chengbei116 小时前
若依全漏洞复现:从 SQL 注入到 RCE 一站式实战 复现、利用与防御
数据库·sql·安全·web安全·网络安全·系统安全·安全架构
小江的记录本7 小时前
【事务】Spring Framework核心——事务管理:ACID特性、隔离级别、传播行为、@Transactional底层原理、失效场景
java·数据库·分布式·后端·sql·spring·面试
数据皮皮侠7 小时前
中国城市间地理距离矩阵(2024)
大数据·数据库·人工智能·算法·制造
lars_lhuan7 小时前
从键值数据库到Redis
数据库·redis·缓存
倔强的石头1067 小时前
KaiwuDB社区版 3.1.0 在 Ubuntu 22.04 部署实战:TLS 配置、踩坑复盘与轻量压测
数据库·ubuntu·kwdb