5分钟搞定MongoDB基础
MongoDB是一个开源的文档数据库管理系统,使用NoSQL(非关系型数据库)的数据存储模式。它采用了面向文档的模型,将数据以类似于JSON的BSON(Binary JSON)格式进行存储。MongoDB具有高度灵活的数据模型,能够处理各种类型和结构的数据。
简介
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的记录。
更多推荐
所有评论(0)