MongoDB是一种非关系型数据库,它以文档的形式存储数据,而不是表格。文档是由键值对组成的数据结构,类似于JSON对象。MongoDB中的文档可以存储在集合中,集合是文档的容器,类似于关系型数据库中的表。
在MongoDB中,创建集合有两种方式:隐式创建和显式创建。隐式创建是指在插入文档时,如果指定的集合不存在,MongoDB会自动创建该集合。显式创建是指使用db.createCollection()方法来手动创建集合,并可以指定一些选项,如集合的大小、索引、验证规则等。
隐式创建集合的语法如下:
其中,db是数据库对象,collection_name是要插入文档的集合名称,document是要插入的文档对象。例如,要向名为users的集合中插入一个用户信息的文档,可以执行以下命令:
如果users集合不存在,MongoDB会自动创建它,并将文档插入其中。
显式创建集合的语法如下:
其中,name是要创建的集合名称,options是一个可选参数,用于指定集合的一些属性。例如,要创建一个名为products的集合,并限制其大小为10MB,并启用索引和验证功能,可以执行以下命令:
其中,size表示集合的最大字节数,capped表示是否为固定大小的集合(如果为true,则当达到最大大小时,会覆盖最旧的文档),autoIndexId表示是否为每个文档自动创建一个_id字段并建立索引,validator表示用于验证插入或更新文档的规则。
在MongoDB中,除了创建集合外,还可以对已有的集合进行一些操作,如删除、重命名和修改。删除集合的语法如下:
其中,collection_name是要删除的集合名称。例如,要删除名为users的集合,可以执行以下命令:
重命名集合的语法如下:
其中,collection_name是要重命名的集合名称,new_name是新的集合名称,dropTarget是一个可选参数,表示是否删除与新名称相同的已有集合(如果为true,则删除)。例如,要将名为users的集合重命名为customers,并删除已有的customers集合(如果存在),可以执行以下命令:
修改集合的语法如下:
其中,collMod是一个固定值,表示修改集合的命令,collection_name是要修改的集合名称,后面可以跟一些选项来指定修改内容。