MongoDB 入门
安装 MongoDB 教程
链接: 提取码: j4cy 复制这段内容后打开百度网盘手机App,操作更方便哦
注意,cmd 命令 安装 mongodb 数据库时,需要使用cmd 管理员权限。
在代码格式中连接MongoDB
mongodb的使用方式是客户服务器模式,即使用一个客户端连接mongodb 数据库(服务端)
mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?
options]]
mongodb://固定前缀
username:账号,可不填
password:密码,可不填
host:主机名或ip地址,只有host主机名为必填项。
port:端口,可不填,默认27017
/database:连接某一个数据库
?options:连接参数,key/value对
例子:
mongodb://localhost连接本地数据库27017端口
mongodb://root:itcast@localhost使用用户名root密码为itcast连接本地数据库27017端口
mongodb://localhost,localhost:27018,localhost:27019,连接三台主从服务器,端口为27017、27018、27019
windows 版本的mongodb安装成功,在安装目录下的bin目录有 客户端程序
此时就可以使用mongo 数据库的命令来操作了。
链接: 提取码: j4cy 复制这段内容后打开百度网盘手机App,操作更方便哦
详细参数:.4/driver/tutorials/connect-to-mongodb/
添加依赖:
<dependency><groupId&db</groupId><artifactId>mongo‐java‐driver</artifactId><version>3.4.3</version>
</dependency>
测试程序:
@Test
publicvoidtestConnection(){
//创建mongodb客户端
MongoClientmongoClient=newMongoClient("localhost",27017);
//或者采用连接字符串
//MongoClientURIconnectionString=new
MongoClientURI("mongodb://root:root@localhost:27017");
//MongoClientmongoClient=newMongoClient(connectionString);
//连接数据库
北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090MongoDatabasedatabaseDatabase("test");
//连接collection
MongoCollection<Document>collectionCollection("student");
//查询第一个文档
DocumentmyDoc=collection.find().first();
//得到文件内容json串
StringjsonJson();
System.out.println(json);
}
其实只需要将配置写在xml 配置文件即可。
在命令行 操作mongo 数据库,先执行 命令后,便可以执行其他数据库命令操作。
show dbs :查询全部数据库
db :显示当前数据库
命令格式:use 【数据库名字】
例子:use test01
效果:本来就有test01 数据库 的话,就切换到test01 数据库,没有就创建test01 数据库。
注意:新创建的数据库不显示,需要至少包括一个集合。
命令格式:db.dropDatabase()
例子:删除 test01 数据库,先切换数据库:use test01, 再执行删除:db.dropDatabase()
集合相当于关系数据库中的表,一个数据库可以创建多个集合,一个集合是将相同类型的文档管理起来
1,创建集合
执行命令ateCollection(name,options)
实际创建时可只传入name 参数即可
name:新创建的集合名称
options:创建参数
2,删除集合
例子:db.student.drop()删除student集合
mongodb中文档的格式是json格式,下边就是一个文档,包括两个key:_id主键和name
{"_id":ObjectId("5b2cc4bfa6a44812707739b5"),
"name":"黑马程序员"
}
插入命令:db.COLLECTIONNAME.insert(document)
每个文档默认以_id作为主键,主键默认类型为ObjectId(对象类型),mongodb会自动生成主键值。
例子:
db.student.insert({"name":"黑马程序员","age":10})
注意:同一个集合中的文档的key可以不相同!但是建议设置为相同的。
命令格式:
<query>,
<update>,
<options>
)
query:查询条件,相当于sql语句的where
update:更新文档内容
options:选项
1、替换文档
将符合条件"name":"北京黑马程序"的第一个文档替换为{"name":"北京黑马程序员","age":10}。
db.student.update({"name":"黑马程序员"},{"name":"北京黑马程序员","age":10})
同样,options 选项 参数不用传。 、
2,$set修改器
使用$set修改器指定要更新的key,key不存在则创建,存在则更新。
将符合条件"name":"北京黑马程序"的所有文档更新name和age的值。
db.student.update({"name":"黑马程序员"},{$set:{"name":"北京黑马程序员","age":10}},{multi:true})
multi:false表示更新第一个匹配的文档,true表示更新所有匹配的文档。
命令格式:ve(<query>)
query:删除条件,相当于sql语句中的where
1、删除所有文档
ve({})
2、删除符合条件的文档
ve({"name":"黑马程序员"})
命令格式:
query:查询条件,可不填
projection:投影查询key,可不填
1, 查询全部
db.student.find()
2、查询符合条件的记录
查询name等为"黑马程序员"的文档。
db.student.find({"name":"黑马程序员"})
3、投影查询
只显示name和age两个key,_id主键不显示。 1 为显示,0 为不显示
db.student.find({"name":"黑马程序员"},{name:1,age:1,_id:0})
语法格式:
mongo&ateUser(
{user:"<name>",
pwd:"<cleartextpassword>",
customData:{<anyinformation>},
roles:[
{role:"<role>",db:"<database>"}|"<role>",
...
]}
)
例子:
创建root用户,角色为root
useadmin
db.createUser(
{
user:"root",
pwd:"123",
roles:[{role:"root",db:"admin"}]
}
)
内置角色如下:
1.数据库用户角色:read、readWrite;
2.数据库管理角色:dbAdmin、dbOwner、userAdmin;
3.集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4.备份恢复角色:backup、restore;
5.所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、
dbAdminAnyDatabase
6.超级用户角色:root
为了安全需要,Mongodb要打开认证开关,即用户连接Mongodb要进行认证,其中就可以通过账号密码方式进行
认证。
1、在f中设置auth=true
2、重启Mongodb
3、使用账号和密码连接数据库
1连接
<‐uroot‐p123‐‐authenticationDatabase admin
2)Studio3T连接
查询当前库下的所有用户: show users
语法格式:db.dropUser("用户名")
例子:
删除test1用户
db.dropUser("test1")
语法格式:
db.updateUser(
"<username>" ,
{
customData : { <anyinformation>},
roles : [
{ role: "<role>", db: "<database>" ],
pwd: "<cleartext password>"
},
writeConcern:{ <write concern> })
例子:
先创建test1用户:
{
user: "test1",
pwd:"test1",
roles:[{role:"root",db:"admin"}]
}
)
修改test1用户的角色为readWriteAnyDatabase
use admin
db.updateUser("test1",{roles:[{role:"readWriteAnyDatabase",db:"admin"}]})
语法格式:
db.changeUserPassword("username","newPasswd")
例子:
修改test1用户的密码为123
use admin
db.changeUserPassword("test1","123")
本文发布于:2024-01-28 19:07:58,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/17064400819611.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |