MongoDB 基本查询语句

基本查询

  1. 查询所有文档

    sh 复制代码
    db.collection.find()

    示例:

    sh 复制代码
    db.users.find()
  2. 按条件查询文档

    sh 复制代码
    db.collection.find({ key: value })

    示例:

    sh 复制代码
    db.users.find({ age: 25 })
  3. 查询并格式化输出

    sh 复制代码
    db.collection.find().pretty()

    示例:

    sh 复制代码
    db.users.find().pretty()

条件操作符

  1. 等于 ($eq)

    sh 复制代码
    db.collection.find({ key: { $eq: value } })

    示例:

    sh 复制代码
    db.users.find({ age: { $eq: 25 } })
  2. 不等于 ($ne)

    sh 复制代码
    db.collection.find({ key: { $ne: value } })

    示例:

    sh 复制代码
    db.users.find({ age: { $ne: 25 } })
  3. 大于 ($gt)

    sh 复制代码
    db.collection.find({ key: { $gt: value } })

    示例:

    sh 复制代码
    db.users.find({ age: { $gt: 25 } })
  4. 大于等于 ($gte)

    sh 复制代码
    db.collection.find({ key: { $gte: value } })

    示例:

    sh 复制代码
    db.users.find({ age: { $gte: 25 } })
  5. 小于 ($lt)

    sh 复制代码
    db.collection.find({ key: { $lt: value } })

    示例:

    sh 复制代码
    db.users.find({ age: { $lt: 25 } })
  6. 小于等于 ($lte)

    sh 复制代码
    db.collection.find({ key: { $lte: value } })

    示例:

    sh 复制代码
    db.users.find({ age: { $lte: 25 } })

逻辑操作符

  1. 与 ($and)

    sh 复制代码
    db.collection.find({ $and: [ { key1: value1 }, { key2: value2 } ] })

    示例:

    sh 复制代码
    db.users.find({ $and: [ { age: { $gt: 25 } }, { name: "Alice" } ] })
  2. 或 ($or)

    sh 复制代码
    db.collection.find({ $or: [ { key1: value1 }, { key2: value2 } ] })

    示例:

    sh 复制代码
    db.users.find({ $or: [ { age: { $lt: 25 } }, { name: "Alice" } ] })
  3. 非 ($not)

    sh 复制代码
    db.collection.find({ key: { $not: { condition } } })

    示例:

    sh 复制代码
    db.users.find({ age: { $not: { $gt: 25 } } })

嵌套文档查询

  1. 查询嵌套文档中的字段

    sh 复制代码
    db.collection.find({ "nested.key": value })

    示例:

    sh 复制代码
    db.users.find({ "address.city": "New York" })

数组操作符

  1. 数组中包含某个值 ($in)

    sh 复制代码
    db.collection.find({ key: { $in: [ value1, value2 ] } })

    示例:

    sh 复制代码
    db.users.find({ favoriteColors: { $in: [ "red", "blue" ] } })
  2. 数组中不包含某个值 ($nin)

    sh 复制代码
    db.collection.find({ key: { $nin: [ value1, value2 ] } })

    示例:

    sh 复制代码
    db.users.find({ favoriteColors: { $nin: [ "red", "blue" ] } })
  3. 数组中包含所有值 ($all)

    sh 复制代码
    db.collection.find({ key: { $all: [ value1, value2 ] } })

    示例:

    sh 复制代码
    db.users.find({ favoriteColors: { $all: [ "red", "blue" ] } })

示例查询

假设你有一个名为 mydatabase 的数据库和一个名为 users 的集合,集合中的文档结构如下:

json 复制代码
{
  "name": "Alice",
  "age": 25,
  "address": {
    "city": "New York",
    "zip": "10001"
  },
  "favoriteColors": ["red", "blue"]
}

你可以进行以下查询:

  1. 查询所有用户

    sh 复制代码
    db.users.find().pretty()
  2. 查询年龄大于 25 的用户

    sh 复制代码
    db.users.find({ age: { $gt: 25 } })
  3. 查询住在 New York 的用户

    sh 复制代码
    db.users.find({ "address.city": "New York" })
  4. 查询喜欢红色或蓝色的用户

    sh 复制代码
    db.users.find({ favoriteColors: { $in: [ "red", "blue" ] } })

这些示例展示了如何在 MongoDB 中执行各种查询操作。根据需要,可以调整和扩展查询条件。

相关推荐
云和数据.ChenGuang14 分钟前
Django 应用安装脚本 – 如何将应用添加到 INSTALLED_APPS 设置中 原创
数据库·django·sqlite
woshilys42 分钟前
sql server 查询对象的修改时间
运维·数据库·sqlserver
Hacker_LaoYi43 分钟前
SQL注入的那些面试题总结
数据库·sql
建投数据2 小时前
建投数据与腾讯云数据库TDSQL完成产品兼容性互认证
数据库·腾讯云
Hacker_LaoYi3 小时前
【渗透技术总结】SQL手工注入总结
数据库·sql
岁月变迁呀3 小时前
Redis梳理
数据库·redis·缓存
独行soc3 小时前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍06-基于子查询的SQL注入(Subquery-Based SQL Injection)
数据库·sql·安全·web安全·漏洞挖掘·hw
你的微笑,乱了夏天3 小时前
linux centos 7 安装 mongodb7
数据库·mongodb
工业甲酰苯胺3 小时前
分布式系统架构:服务容错
数据库·架构
独行soc4 小时前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍08-基于时间延迟的SQL注入(Time-Based SQL Injection)
数据库·sql·安全·渗透测试·漏洞挖掘