# 查询操作符（$gt、$lt、$in、$regex 等）

URL: https://caijiao.org/mongodb/03-query/01-operators
Source: docs/mongodb/03-query/01-operators.md
Description: 本章节介绍 MongoDB 中常用的查询操作符，如 '$gt'、'$lt'、'$in' 和 '$regex'，帮助用户构建灵活的查询条件。

[MongoDB](/mongodb/) 查询语句支持多种操作符，用于构造复杂的查询条件，实现精确的数据筛选。

## 常用查询操作符

- `$gt`：大于。查询字段值大于指定值的文档。

  ```js
  db.users.find({ age: { $gt: 25 } })
  ````

- `$lt`：小于。查询字段值小于指定值的文档。

  ```js
  db.users.find({ age: { $lt: 30 } })
  ```

- `$gte` 和 `$lte`：大于等于、小于等于。

- `$in`：匹配字段值在指定数组中的文档。

  ```js
  db.users.find({ status: { $in: ["active", "pending"] } })
  ```

- `$nin`：匹配字段值不在指定数组中的文档。

- `$regex`：基于正则表达式匹配字符串。

  ```js
  db.users.find({ name: { $regex: /^A/, $options: "i" } })
  ```

  上例查询名字以字母 A 开头（不区分大小写）的文档。

- `$ne`：不等于。查询字段值不等于指定值的文档。

  ```js
  db.users.find({ age: { $ne: 30 } })
  ```

## 组合查询

多个操作符可以结合使用，实现复杂条件：

```js
db.users.find({
  age: { $gt: 20, $lt: 40 },
  status: { $in: ["active", "pending"] }
})
```

---

熟练使用这些查询操作符，能帮助用户精准、高效地筛选所需数据，满足各种业务需求。
