MongoDB

本文介绍了MongoDB,一种灵活的开源数据库,重点讲解了文档数据模型、数据库与集合操作、文档操作,包括如何创建、查询、删除数据库和集合,以及插入、删除文档的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MongoDB

MongoDB简介

1、MongoDB 是一种强大、灵活、可扩展的开源数据库。由 C++ 语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。
2、是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它扩展了关系型数据库的众多功能,如辅助索引、范围查询和排序。
3、面向文档存储,易于存储对象类型的数据,是开源软件、无表结构,也就是说MongoDB免费软件、没有固定的表结构,模式自由。

文档数据模型

1、特点

(1)文档存储没有强制的架构,无须事先定义数据存储结构
(2)文档存储以键值对的方式存储
(3)MongoDB存储的数据类型为BSON(Binary JSON的简称)

2、文档存储层次
SQLMongoDB说明
databasedatabase数据库
tablecollection表/集合
rowdocument行/文档
columnfield字段/域
table joinsMongoDB不支持
primary keyprimary keyMongoDB自动将_id设置为主键

MongoDB基本操作

1、数据库操作

(1)查看数据库

>show dbs		
admin	0.000GB	//保留数据库,
Local	0.000GB	 //保留数据库,
test       	0.000GB	//保留数据库,
myDB	0.000GB           //自定义数据库,
注意:如果自定义数据库没有插入记录,show dbs不会显示此数据库

(2)创建/切换数据库

> use myDB
switched to db myDB
注意:如果数据库不存在,则创建数据库,否则切换到指定数据库

(3)统计数据库信息

> db.stats()				//统计数据信息
{
    "db" : "test",		//数据库名
    "collections" : 0,		//集合数量
    "objects" : 0,		//文档数量
    "avgObjSize" : 0,		//平均每个文档的大小
    "dataSize" : 0,		//数据占用空间大小,不包括索引,单位为字节
    "storageSize" : 0,		//分配的存储空间.
}

(4)删除当前数据库

> db.dropDatabase()
{ "ok" : 1 }

> show dbs
admin  0.000GB
local  0.000GB
 默认删除test数据库
2、集合操作

(1)创建集合
显示创建

> db.createCollection("myCollection")
{ "ok" : 1 }

隐示创建

> db.myCollection.insert({"name":"liming"})
WriteResult({ "nInserted" : 1 })

定长集合

>db.createCollection(“myCollection”,{capped:true,size:6142800,max:10000})
//capped:是否定长,true为定长
//size:指定集合大小允许的最大值(单位是字节)
//Max: 指定集合中允许的最多文档数量
>db.myCollection.isCapped() //判断集合是否定长
true

(2)查询集合

> show collections
myCollection
> db.myCollection.renameCollection("myColl")
{ "ok" : 1 }  //集合重命名

(3)删除集合

> db.myColl.drop()
true
3、文档操作

(1)插入文档

>db.myCollection.insert({"name":"lili"})//没有指定_id,系统会自动生成。
>db.myCollection.find()

(2)删除文档

>db.mydb.remove({})
>de.mydb.deleteMany({})//{}代表删除全部文档
>db.mydb.remove({"name":"lili"})//删除部分文档
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值