mongoDB查询语句

下面是一些常用的 MongoDB 查询语句,适用于日常开发和数据操作,包括查找、插入、更新和删除等操作:


🔍 1. 查找文档(find)

查找全部文档:

lua 复制代码
db.collection.find()

条件查询(等于):

css 复制代码
db.collection.find({ key: "value" })

多条件查询(AND):

php 复制代码
db.collection.find({ key1: "value1", key2: "value2" })

OR 查询:

css 复制代码
db.collection.find({ $or: [{ key1: "value1" }, { key2: "value2" }] })

比较操作符:

php 复制代码
// 小于
db.collection.find({ age: { $lt: 30 } })

// 大于等于
db.collection.find({ age: { $gte: 18 } })

包含在数组中:

css 复制代码
db.collection.find({ tags: { $in: ["mongodb", "database"] } })

模糊查询(正则):

css 复制代码
db.collection.find({ name: { $regex: "^A" } }) // 以 A 开头

✨ 2. 投影字段(只返回部分字段)

php 复制代码
db.collection.find({ age: { $gt: 18 } }, { name: 1, age: 1, _id: 0 })

📊 3. 排序、限制和跳过

scss 复制代码
// 按 age 升序排序
db.collection.find().sort({ age: 1 })

// 按 age 降序排序并只返回前 5 条
db.collection.find().sort({ age: -1 }).limit(5)

// 跳过前 10 条,取 5 条
db.collection.find().skip(10).limit(5)

✏️ 4. 插入文档

插入一条:

php 复制代码
db.collection.insertOne({ name: "Tom", age: 25 })

插入多条:

php 复制代码
db.collection.insertMany([
  { name: "Jerry", age: 22 },
  { name: "Anna", age: 28 }
])

🔧 5. 更新文档

更新一条(只更新第一个匹配项):

css 复制代码
db.collection.updateOne(
  { name: "Tom" },
  { $set: { age: 30 } }
)

更新多条:

css 复制代码
db.collection.updateMany(
  { age: { $lt: 20 } },
  { $set: { status: "minor" } }
)

❌ 6. 删除文档

删除一条:

css 复制代码
db.collection.deleteOne({ name: "Tom" })

删除多条:

css 复制代码
db.collection.deleteMany({ age: { $lt: 18 } })

📌 7. 计数 / 去重

统计数量:

css 复制代码
db.collection.countDocuments({ age: { $gt: 20 } })

去重字段值:

vbnet 复制代码
db.collection.distinct("name")

如果你有具体的应用场景,比如查询嵌套字段、数组字段、聚合分析等,我也可以给你举更复杂的例子!需要吗?

相关推荐
ly76891 天前
MongoDB 读写策略与一致性取舍:readConcern、readPreference 与 causal session
数据库·mongodb·writeconcern·readconcern·readpreference·因果一致性
ly76892 天前
MongoDB 事务开销实测:快照隔离下的写冲突、重试与分片事务边界
数据库·mongodb·事务·分片集群·快照隔离·写冲突
ly76892 天前
Spring Data MongoDB 批量写入实践:BulkOperations 批大小与写关注权衡
java·mongodb·spring·批量写入·bulkoperations·写关注·mongotemplate
Aolith2 天前
从收藏到错题本,我在 React 全栈项目里实现了一套复习系统
mongodb·react.js·全栈
ly76894 天前
MongoDB 副本集选举风暴排查:从心跳超时到 Journal 刷盘阻塞
数据库·mongodb·php·mongodb 副本集·选举风暴·journal 刷盘·writeconcern
SL-staff5 天前
技术实践:将Excel自动升级为可搜索的知识节点(JVS平台实现)
mongodb·elasticsearch·知识图谱·jvs平台·语义解析·企业文档管理·excel结构化
ClouGence6 天前
数据库迁移工具 CloudCanal v6.5.0.0 发布:新增 TDSQL PostgreSQL 多条链路,支持 MongoDB 双向同步
数据库·mysql·mongodb
浪子明X6 天前
MongoDB 迁移方案评审:用双写窗口和回放样本控制切换风险
数据库·mongodb
蜗牛互联网11 天前
MongoDB Atlas Agent Engine之后,如何用版本门禁防止陈旧写入
java·数据库·人工智能·后端·mongodb
天空'之城15 天前
单片机基础核心知识点汇总(四十六)
数据库·单片机·mongodb