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")

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

相关推荐
行思理14 小时前
MongoDB 大数据备份,新手教程
数据库·mongodb
大郭鹏宇1 天前
MongoDB快速实战与基本原理入门
数据库·mongodb
葫芦和十三3 天前
图解 MongoDB 25|分片架构三件套:mongos、config server 和 shard
后端·mongodb·agent
葫芦和十三3 天前
图解 MongoDB 26|片键设计:决定集群命运的一个决定
后端·mongodb·agent
葫芦和十三4 天前
图解 MongoDB 24|分片为什么存在:垂直扩容的天花板
后端·mongodb·agent
葫芦和十三4 天前
图解 MongoDB 23|两地三中心:跨可用区部署怎么扛机房故障
后端·mongodb·agent
葫芦和十三5 天前
图解 MongoDB 22|读写关注:持久性与一致性的档位选择
后端·mongodb·agent
葫芦和十三5 天前
图解 MongoDB 21|选举与 failover:Primary 是怎么选出来的
后端·mongodb·agent
葫芦和十三6 天前
图解 MongoDB 19|Oplog:复制的真正载体,不是文档是操作
后端·mongodb·agent
葫芦和十三6 天前
图解 MongoDB 20|复制延迟与 catch up:Secondary 为什么跟不上
后端·mongodb·agent