MongoDB简介
MongoDB是一个开源的分布式数据库,基于C++编写,它将数据存储为BSON(类似于JSON)格式,具有高度可扩展性、高性能和高可用性,MongoDB适用于各种规模的应用,从小型嵌入式系统到大型企业级应用。
创建表的方法
1、使用MongoDB Shell
要创建一个表,首先需要启动MongoDB Shell,在命令行中输入以下命令:
mongo
接下来,我们可以使用db.createCollection()
方法创建一个新表,要创建一个名为students
的表,可以输入以下命令:
use myDatabase; // 切换到myDatabase数据库 db.createCollection("students"); // 创建students表
2、使用MongoDB Compass
MongoDB Compass是官方推荐的图形化工具,可以方便地创建和管理数据库,要创建一个新表,请按照以下步骤操作:
打开MongoDB Compass,连接到本地或远程MongoDB实例。
在左侧导航栏中,右键单击“数据库”,然后选择“新建集合”。
在弹出的对话框中,输入集合名称(如“students”),然后单击“确定”。
创建索引的方法
1、使用MongoDB Shell创建单字段索引
要在MongoDB Shell中为表创建单字段索引,可以使用db.collection.createIndex()
方法,要为students
表的name
字段创建一个唯一索引,可以输入以下命令:
use myDatabase; // 切换到myDatabase数据库 db.students.createIndex({name: 1}, {unique: true}); // 为name字段创建唯一索引
1
表示升序索引,{unique: true}
表示该索引是唯一的。
2、使用MongoDB Compass创建单字段索引
在MongoDB Compass中,为表创建单字段索引的方法与上述相同,只需在左侧导航栏中找到目标集合,右键单击并选择“创建索引”即可,在弹出的对话框中,输入索引名称和字段名称(如“name”),然后单击“确定”。
多字段索引和复合索引
1、创建多字段索引
要在MongoDB中为多个字段创建索引,可以在db.collection.createIndex()
方法中指定多个字段及其排序顺序,要为students
表的age
和name
字段创建一个组合索引,可以输入以下命令:
use myDatabase; // 切换到myDatabase数据库 db.students.createIndex({age: 1, name: 1}); // 为age和name字段创建组合索引(升序)
2、创建复合索引(哈希索引)
MongoDB支持将多个字段组合成一个复合索引(哈希索引),这种索引对于范围查询非常有用,要在MongoDB中为多个字段创建复合索引,可以在db.collection.createIndex()
方法中使用hint
参数指定排序顺序,要为students
表的age
和name
字段创建一个复合哈希索引(升序),可以输入以下命令:
use myDatabase; // 切换到myDatabase数据库 db.students.createIndex({age: 1, name: 1}, {hint: "hashed"}); // 为age和name字段创建复合哈希索引(升序)
相关问题与解答
1、为什么在MongoDB中使用复合索引比单独使用多个单字段索引更高效?
答:因为复合索引可以利用哈希技术加速范围查询操作,而单字段索引只能进行简单的等于查询,在对查询性能有较高要求的场景下,使用复合索引通常比单独使用多个单字段索引更高效,但是需要注意的是,复合索引会占用更多的磁盘空间和内存资源。
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/211162.html