MongoDB 是一个强大的 NoSQL 数据库,提供了丰富的查询命令,用于检索和操作数据。以下是一些常用的 MongoDB
查询命令及其详细介绍:
find(): 查询集合中的数据。
db.collection.find(query, projection)
query:查询条件,类似于 SQL 的 WHERE 子句。projection:指定返回字段,可以用 1 表示包含字段,0 表示排除字段。示例:
db.users.find({ age: { $gte: 18 } }, { name: 1, age: 1 })
findOne(): 查询集合中的单个文档。
db.collection.findOne(query, projection)
示例:
db.users.findOne({ username: "john_doe" })
比较操作符
$eq:等于$ne:不等于$gt:大于$gte:大于等于$lt:小于$lte:小于等于示例:
db.users.find({ age: { $gt: 25 } })
逻辑操作符
$and:与$or:或$not:非$nor:非或示例:
db.users.find({ $or: [{ age: { $lt: 18 } }, { age: { $gt: 60 } }] })
元素操作符
$exists:字段存在$type:字段类型示例:
db.users.find({ middle_name: { $exists: true } })
$:数组中的第一个匹配元素
$elemMatch:匹配数组中的元素
$slice:返回数组的子集
示例:
db.users.find({ }, { interests: { $slice: 3 } })
updateOne(): 更新单个文档。
db.collection.updateOne(filter, update, options)
示例:
db.users.updateOne({ username: "john_doe" }, { $set: { age: 30 } })
updateMany(): 更新多个文档。
db.collection.updateMany(filter, update, options)
示例:
db.users.updateMany({ "address.city": "New York" }, { $set: { status: "active" } })
replaceOne(): 用新文档替换现有文档。
db.collection.replaceOne(filter, replacement, options)
示例:
db.users.replaceOne({ username: "john_doe" }, { username: "john_doe", age: 30, status: "active" })
deleteOne(): 删除单个文档。
db.collection.deleteOne(filter)
示例:
db.users.deleteOne({ username: "john_doe" })
deleteMany(): 删除多个文档。
db.collection.deleteMany(filter)
示例:
db.users.deleteMany({ "status": "inactive" })
aggregate(): 聚合操作。
db.collection.aggregate(pipeline, options)
示例:
db.orders.aggregate([
{ $match: { status: "A" } },
{ $group: { _id: "$cust_id", total: { $sum: "$amount" } } },
{ $sort: { total: -1 } }
])
createIndex(): 创建索引。
db.collection.createIndex(keys, options)
示例:
db.users.createIndex({ username: 1 }, { unique: true })
dropIndex(): 删除索引。
db.collection.dropIndex(index)
示例:
db.users.dropIndex("username_1")
limit(): 限制返回文档数。
db.collection.find(query).limit(number)
skip(): 跳过指定数量的文档。
db.collection.find(query).skip(number)
sort(): 排序返回文档。
db.collection.find(query).sort(criteria)
示例:
db.users.find().sort({ age: -1 }).limit(10)
这些命令和操作符是 MongoDB 中最常用的一些查询和操作方法,通过熟练掌握和灵活应用它们,能够有效地管理和查询 MongoDB 数据库中的数据。