启动(双击安装目录下bin目录中的 mongo.exe)
之后会弹出这样一个命令窗口(默认黑色的,我这里是自己改的颜色)
一、创建数据库
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 的数据。
五、更新文档(点击查看!!!)