下面是一些常用的 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")
如果你有具体的应用场景,比如查询嵌套字段、数组字段、聚合分析等,我也可以给你举更复杂的例子!需要吗?