简介

        MongoDB是一个开源的文档数据库管理系统,使用NoSQL(非关系型数据库)的数据存储模式。它采用了面向文档的模型,将数据以类似于JSON的BSON(Binary JSON)格式进行存储。MongoDB具有高度灵活的数据模型,能够处理各种类型和结构的数据。相比传统的关系型数据库,MongoDB具有以下特点:

  • 高度可扩展性:MongoDB支持水平扩展,可以通过添加更多的服务器来处理大规模数据和高并发访问。
  • 强大的查询功能:MongoDB支持丰富的查询语言,包括灵活的文档查询、索引和聚合操作等,使得数据的检索和分析更加便捷。
  • 高性能:MongoDB使用内存映射文件的方式进行数据存储,能够提供快速的读写性能。
  • 高可用性:MongoDB支持数据副本集和自动故障转移,保证数据的可靠性和高可用性。
  • 灵活的数据模型:MongoDB的文档模型非常灵活,可以存储各种类型的数据,而不需要事先定义表结构。

总的来说,MongoDB是一款功能强大、易于使用和高度可扩展的数据库管理系统,适用于各种规模和类型的应用程序。

简单理解

通俗的讲就是为存储JSON格式数据的数据库

  • 集合可以看成是一张表
  • 文档的key可以看成是一个字段名称
  • 文档的value可以看成是一个字段的值
  • 有着所用即所得的特点,插入数据时会自动创建数据库、集合等,没有表结构的概念,新增之前没有的key时会自动新增字段。

工具:studio 3T

Download Studio 3T for MongoDB | Windows, macOS & Linux

数据库表操作

数据库

创建:use database_name;

删除:db.dropDatabase("database_name")

集合(相当于表)

创建:db.createCollection(name, options)

参数说明:

        name: 要创建的集合名称

        options: 可选参数, 指定有关内存大小及索引的选项

删除:db.name.drop()

查看:show collections

数据操作

插入数据

        db.集合名称.(isnertOne | insertMany)

        括号中表示二选一

        注意:不能使用 insertOne 插入多个文档(多条数据),会新建两个字段,然后数据插入到子集合中。

命令

描述

返回结果

insert

过时的方法,已被弃用。用于插入一个或多个文档。

无返回结果

insertOne

用于插入单个文档。

包含插入操作结果的对象,如果插入成功,返回的结果对象中的acknowledged字段值为true。

insertMany

用于插入多个文档。

包含插入操作结果的对象,如果插入成功,返回的结果对象中的acknowledged字段值为true

查询

db.getCollection("chatgpt").find({key_name:value_name})

或者

db.chatgpt.find({key_name:value_name})

嵌套查询

db.getCollection("chatgpt").find({"name.age":12})

父字段 点 子字段,整个都用双引号扩上,如上标红

删除数据

db.chatgpt.remove({name:"张三"})

类同查询

修改数据

mongodb update 的用法:

db.table_name.update(where,setNew,issert,multi );

参数解释:

where:类似于sql中的update 语句where后边的查询条件

setNew:类似于sql中update语句中set后边的部分,也就是你要更新的部分

upsert:如果要更新的那条记录没有找到,是否插入一条新纪录,默认为false不插入,true为插入

multi :是否更新满足条件的多条的记录,false:只更新第一条,true:更新多条,默认为false

示例:

> db.table_name.update({"col_name":0},{$set:{"col1_name":"","col2_name":"","col3_name":""}},f

alse,true);

相当于:

update table_name set col1_name="",col2_name="",col3_name="" where col_name=0;

更新表table_name中所有col_name=0的记录。

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐