type
status
date
slug
summary
tags
category
icon
password
☀️
努力学习,争取啃下MongoDB

MongoDB 语法

MongoDB 是一个面向文档的NoSQL数据库,数据以类似JSON的格式存储,适合处理大规模、复杂的数据。

1. 数据库操作

创建与选择数据库

  • 命令:
    • 如果数据库不存在,它会自动创建并切换到该数据库。
  • 示例:

    查看所有数据库

    • 命令:
      • 显示当前MongoDB实例中的所有数据库。

    删除数据库

    • 命令:
      • 删除当前选择的数据库。
    • 示例:

      2. 集合操作

      创建集合

      • 显式创建集合
        • 显式创建一个新的集合。
      • 示例:
        • 隐式创建集合
          • 当向一个不存在的集合插入数据时,MongoDB会自动创建该集合。
        • 示例:

          查看集合

          • 命令:
            • 查看当前数据库中的所有集合。
          • 示例:

            删除集合

            • 命令:
              • 删除指定集合。
            • 示例:

              3. 文档操作 (CRUD)

              插入文档

              • 插入单个文档
                • 示例:
              • 插入多个文档
                • 示例:

              查询文档

              • 查询所有文档
                • 示例:
              • 条件查询
                • 查找年龄大于30的用户。
                • 示例:
              • 投影查询
                • 只返回名字和年龄,不返回_id
                • 示例:
              • 查找一个文档
                • 返回符合条件的第一条文档。
                • 示例:

              更新文档

              • 覆盖更新
                • 直接覆盖文档内容。
                • 示例:
              • 部分更新
                • 只更新指定的字段。
                • 示例:
              • 批量更新
                • 更新所有符合条件的文档。
                • 示例:
              • 自增
                • 将名字为"Bob"的用户年龄加1。
                • 示例:

              删除文档

              • 删除指定文档
                • 示例:
              • 删除所有文档
                • 示例:

              4. 高级查询操作

              分页查询

              • 命令:
                • 示例:
                  • 跳过前三个文档,返回接下来的三个文档。
                  • 其他示例:

                排序查询

                • 命令:
                  • 按年龄升序排列。
                • 示例:

                  统计查询

                  • 命令:
                    • 统计状态为"active"的用户数量。
                  • 示例:

                    模糊查询

                    • 命令:
                      • 查找名字中包含“li”的用户。
                    • 示例:

                      比较查询

                      • 命令:
                        • 查找年龄大于30的用户。
                      • 示例:

                        包含查询

                        • 命令:
                          • 查找名字为"Alice"或"Charlie"的用户。
                        • 示例:

                          逻辑查询

                          • AND 查询
                            • 示例:
                          • OR 查询
                            • 示例:

                          5. 聚合与MapReduce

                          聚合查询

                          • 按状态统计用户数量
                            • 示例:

                          MapReduce

                          • 计算每个状态的用户总数
                            • 示例:

                          6. 索引操作

                          创建索引

                          • 命令:
                            • name字段上创建升序索引。
                          • 示例:

                            查看索引

                            • 命令:
                              • 查看当前集合的所有索引。
                            • 示例:

                              删除索引

                              • 命令:
                                • 删除指定索引。
                              • 示例:

                                7. 管理操作

                                关闭MongoDB服务

                                • 命令:
                                  • 安全关闭MongoDB服务。