Mongodb入门——01

本文介绍了MongoDB的基本操作,包括启动、创建与删除数据库、集合,以及如何插入、更新文档等。通过具体实例展示了如何使用MongoDB进行数据管理。

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

启动(双击安装目录下bin目录中的 mongo.exe)

启动mongodb
之后会弹出这样一个命令窗口(默认黑色的,我这里是自己改的颜色)
在这里插入图片描述

一、创建数据库
MongoDB 中默认的数据库为 test

1.查看当前使用的数据库		db
	注意:MongoDB 中默认的数据库为 test
	
2.创建(或者切换)数据库		use database_name		(其中database_name为数据库名)
	eg:创建aaa数据库(假设aaa数据库不存在)	use aaa	
	注意:如果数据库不存在,则创建数据库,否则切换到指定数据库
	
3.查看所有的数据库		show dbs
	注意:在新建aaa数据库之后,使用show dbs命令查看所有数据库,会发现不会展示新建的数据库,
	那是因为在 MongoDB 中,数据库(集合)只有在内容插入后才会创建
	
4.向新建的数据库插入数据	db.database_name.insert(Object)	
	eg:向aaa数据库中插入一条数据		db.aaa.insert({"name":"小明"})
	然后在使用show dbs命令,aaa数据库就能展示出来了

二、删除数据库、集合

1.删除当前数据库		db.dropDatabase()
	注意:删除当前数据库,默认为 test;可以使用 db 命令查看当前数据库名;
	使用use database_name 切换到指定的数据库之后再进行删除
	
	删除成功返回值:{ "dropped" : "删除的数据库名", "ok" : 1 }

2.删除集合		db.collection.drop()		(collection为要删除的集合名)
	返回值:如果成功删除选定集合,则 drop() 方法返回 true,否则返回 false。
	eg:删除名为myclo的集合	db.myclo.drop()		如果myclo集合存在,则返回true;反之返回false	

三、创建集合(集合,类似数据库中的表)

1.创建集合		db.createCollection(name,options)
	参数说明:
	name	---要创建的集合名称
	options ---可选参数, 指定有关内存大小及索引的选项(见下图)
	eg:在aaa数据库中创建asd集合	①use aaa	②db.createCollection("asd")

在这里插入图片描述

1.带参数集合的创建
	eg:创建固定集合 mycol,整个集合空间大小 6142800 KB, 文档最大个数为 10000 个
	db.createCollection("mycol", { capped : true, autoIndexId : true, size : 6142800, max : 10000 } )

2.在 MongoDB 中,你不需要创建集合。当你插入一些文档时,MongoDB 会自动创建集合
	eg:myclo2集合是没有创建的,直接插入的值		db.mycol2.insert({"name" : "菜鸟教程"})	

四、插入文档
MongoDB 使用 insert() 或 save() 方法向集合中插入文档

1.使用insert()插入文档		db.COLLECTION_NAME.insert(document)
	注意:如果 _id 主键存在则更新数据,如果不存在就插入数据。该方法新版本中已废弃,
	可以使用 db.collection.insertOne() 或 db.collection.replaceOne() 来代替

2.使用save()插入文档			db.COLLECTION_NAME.save(document)
	注意:若插入的数据主键已经存在,则会抛 org.springframework.dao.DuplicateKeyException 异常,
	提示主键重复,不保存当前数据。

3.利用db.collection.insertOne() 和 db.collection.insertMany()插入文档,3.2 版本之后新增的
	a.插入一个文档		db.collection.insertOne()
	语法:
	db.collection.insertOne(
		<document>,
		{
			writeConcern: <document>
		}
	)
	
	b.插入多个文档		db.collection.insertMany()
	语法:
	db.collection.insertMany(
		[ <document 1> , <document 2>, ... ],
		{
			writeConcern: <document>,
			ordered: <boolean>
		}
	)

	a和b语法参数说明:
		document:要写入的文档。
		writeConcern:写入策略,默认为 1,即要求确认写操作,0 是不要求。
		ordered:指定是否按顺序写入,默认 true,按顺序写入。

例子:向aaa数据库的asd集合中插入文档
	>use aaa	--->(切换到aaa数据库)
	switched to db aaa
	>db.asd.insert({name:'小明',age:23,"hobby":['读书','玩游戏'] })
	>WriteResult({ "nInserted" : 1 })	--->(插入成功会显示这行)
	>db.asd.find()	--->(查看文档)
	
	tips:也可以将数据定义为一个变量
	>str={"name":"haha",age:12}			--->str是一个变量名,随便取
	{ "name" : "haha", "age" : 12 }
	> db.asd.insert(str)
	WriteResult({ "nInserted" : 1 })
	
	插入文档你也可以使用 db.col.save(document) 命令。如果不指定 _id 字段 save() 方法类似于 insert() 方法。
	如果指定 _id 字段,则会更新该 _id 的数据。
	

五、更新文档(点击查看!!!)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值