mongoDB查询语句

567 阅读1分钟

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


🔍 1. 查找文档(find)

查找全部文档:

db.collection.find()

条件查询(等于):

db.collection.find({ key: "value" })

多条件查询(AND):

db.collection.find({ key1: "value1", key2: "value2" })

OR 查询:

db.collection.find({ $or: [{ key1: "value1" }, { key2: "value2" }] })

比较操作符:

// 小于
db.collection.find({ age: { $lt: 30 } })

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

包含在数组中:

db.collection.find({ tags: { $in: ["mongodb", "database"] } })

模糊查询(正则):

db.collection.find({ name: { $regex: "^A" } }) // 以 A 开头

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

db.collection.find({ age: { $gt: 18 } }, { name: 1, age: 1, _id: 0 })

📊 3. 排序、限制和跳过

// 按 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. 插入文档

插入一条:

db.collection.insertOne({ name: "Tom", age: 25 })

插入多条:

db.collection.insertMany([
  { name: "Jerry", age: 22 },
  { name: "Anna", age: 28 }
])

🔧 5. 更新文档

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

db.collection.updateOne(
  { name: "Tom" },
  { $set: { age: 30 } }
)

更新多条:

db.collection.updateMany(
  { age: { $lt: 20 } },
  { $set: { status: "minor" } }
)

❌ 6. 删除文档

删除一条:

db.collection.deleteOne({ name: "Tom" })

删除多条:

db.collection.deleteMany({ age: { $lt: 18 } })

📌 7. 计数 / 去重

统计数量:

db.collection.countDocuments({ age: { $gt: 20 } })

去重字段值:

db.collection.distinct("name")

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