Skip to content
鼓励作者:欢迎打赏犒劳

mongodb

安装:https://software.share888.top/note/devtool/detail/MongoDB.html

常用的命令

示例数据(假设集合名为 users)

注意,db这个是写死的,mongodb里面就是这样查询的

批量新增

sql
db.users.insertMany([
  { name: "Alice", age: 25, city: "Beijing", active: true },
  { name: "Bob", age: 30, city: "Shanghai", active: true },
  { name: "Charlie", age: 35, city: "Beijing", active: false },
  { name: "David", age: 25, city: "Guangzhou", active: true }
])

查询

查询所有

sql
db.users.find()

多条件查询(AND)

sql
-- 查询 age 等于 25 的用户
db.users.find({ age: 25 })

-- 返回 age=25 且 city="Beijing" 的用户(Alice)
db.users.find({ age: 25, city: "Beijing" })

范围查询

sql
-- 返回 age 大于 25 的用户(Bob 和 Charlie)
db.users.find({ age: { $gt: 25 } })

-- 查询 age 在 [25, 30] 范围内(>=25 且 <=30)
db.users.find({ age: { $gte: 25, $lte: 30 } })


--  查询 city 在 ["Beijing", "Shanghai"] 中的用户
db.users.find({ city: { $in: ["Beijing", "Shanghai"] } })

正则表达式查询

sql
-- 使用正则表达式查询 name 包含 "A" 或 "a" 的用户
db.users.find({ name: /a/i })

查询某个字段不存在的文档

sql
-- 返回没有 email 字段的文档。
db.users.find({ email: { $exists: false } })

其他场景

显示指定字段

sql
-- 只返回 name 和 city 字段,不返回 _id。
db.users.find({}, { name: 1, city: 1, _id: 0 })


-- 查询 active 为 true 的用户,并只显示 name
db.users.find({ active: true }, { name: 1, _id: 0 })

分页

sql
db.users.find().limit(2)

排序

使用 .sort() 排序(1: 升序,-1: 降序)

sql
db.users.find().sort({ age: 1 })

组合使用

sql
db.users.find({ active: true }).sort({ age: -1 }).limit(3)

如有转载或 CV 的请标注本站原文地址