基本查询
-
查询所有文档:
shdb.collection.find()
示例:
shdb.users.find()
-
按条件查询文档:
shdb.collection.find({ key: value })
示例:
shdb.users.find({ age: 25 })
-
查询并格式化输出:
shdb.collection.find().pretty()
示例:
shdb.users.find().pretty()
条件操作符
-
等于 (
$eq
):shdb.collection.find({ key: { $eq: value } })
示例:
shdb.users.find({ age: { $eq: 25 } })
-
不等于 (
$ne
):shdb.collection.find({ key: { $ne: value } })
示例:
shdb.users.find({ age: { $ne: 25 } })
-
大于 (
$gt
):shdb.collection.find({ key: { $gt: value } })
示例:
shdb.users.find({ age: { $gt: 25 } })
-
大于等于 (
$gte
):shdb.collection.find({ key: { $gte: value } })
示例:
shdb.users.find({ age: { $gte: 25 } })
-
小于 (
$lt
):shdb.collection.find({ key: { $lt: value } })
示例:
shdb.users.find({ age: { $lt: 25 } })
-
小于等于 (
$lte
):shdb.collection.find({ key: { $lte: value } })
示例:
shdb.users.find({ age: { $lte: 25 } })
逻辑操作符
-
与 (
$and
):shdb.collection.find({ $and: [ { key1: value1 }, { key2: value2 } ] })
示例:
shdb.users.find({ $and: [ { age: { $gt: 25 } }, { name: "Alice" } ] })
-
或 (
$or
):shdb.collection.find({ $or: [ { key1: value1 }, { key2: value2 } ] })
示例:
shdb.users.find({ $or: [ { age: { $lt: 25 } }, { name: "Alice" } ] })
-
非 (
$not
):shdb.collection.find({ key: { $not: { condition } } })
示例:
shdb.users.find({ age: { $not: { $gt: 25 } } })
嵌套文档查询
-
查询嵌套文档中的字段 :
shdb.collection.find({ "nested.key": value })
示例:
shdb.users.find({ "address.city": "New York" })
数组操作符
-
数组中包含某个值 (
$in
):shdb.collection.find({ key: { $in: [ value1, value2 ] } })
示例:
shdb.users.find({ favoriteColors: { $in: [ "red", "blue" ] } })
-
数组中不包含某个值 (
$nin
):shdb.collection.find({ key: { $nin: [ value1, value2 ] } })
示例:
shdb.users.find({ favoriteColors: { $nin: [ "red", "blue" ] } })
-
数组中包含所有值 (
$all
):shdb.collection.find({ key: { $all: [ value1, value2 ] } })
示例:
shdb.users.find({ favoriteColors: { $all: [ "red", "blue" ] } })
示例查询
假设你有一个名为 mydatabase
的数据库和一个名为 users
的集合,集合中的文档结构如下:
json
{
"name": "Alice",
"age": 25,
"address": {
"city": "New York",
"zip": "10001"
},
"favoriteColors": ["red", "blue"]
}
你可以进行以下查询:
-
查询所有用户:
shdb.users.find().pretty()
-
查询年龄大于 25 的用户:
shdb.users.find({ age: { $gt: 25 } })
-
查询住在 New York 的用户:
shdb.users.find({ "address.city": "New York" })
-
查询喜欢红色或蓝色的用户:
shdb.users.find({ favoriteColors: { $in: [ "red", "blue" ] } })
这些示例展示了如何在 MongoDB 中执行各种查询操作。根据需要,可以调整和扩展查询条件。