关系型 | MongoDB | 说明 |
---|---|---|
database | database | 数据库 |
table | collection | 数据库表/集合 |
row | document | 数据记录行/文档 |
column | field | 数据字段/域 |
index | index | 索引 |
table joins | 表连接(MongoDB不支持) | |
primary key | primary key | 主键(MongoDB自动再每个集合中添加-id的主键) |
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:123@host 连接本地用户名root,密码为123的本地数据库27017端口
mongodb://localhost,localhost:27018,localhost:27019 连接三台主从服务器,端口分别为27017,27018,27019
MongoDB详细连接教程:http://mongodb.github.io/mongo-java-driver/3.4/driver/tutorials/connect-to-mongodb/
添加依赖
<dependency>
<groupId>org.mongodbgroupId>
<artifactId>mongo-java-driverartifactId>
<version>3.4.3version>
dependency>
@Test
public void testConnection() {
//1. 创建MongoDB客户端
MongoClient mongoClient = new MongoClient("localhost", 20717);
//采用连接字符串
//MongoClientURI connectionString = new MongoClientURI("mongodb://localhost:27017");
//MongoClient mongoClient = new MongoClient(connectionString);
//2. 连接数据库
MongoDataBase database = mongoClient.getDataBase("test");
//3. 连接collection
MongoCollection<Document> collection = database.getCollection("student");
//4. 查询第一个文档
Document myDoc = collection.find().firsr();
//5. 得到文件内容,json串
String json = myDoc.toJson();
System.out.println(json);
}
show dbs
:查询全部数据库db
:显示当前数据库use DATABASE_NAME
use DATABASE_NAME
db.dropDatabase()
use DATABASE_NAME
db.createCollection(name, options)
name
:新创建的集合名options
:创建参数use DATABASE_NAME
db.COLLECTION_NAME.drop()
db.student.drop()
:删除名为student的集合_id
为主键,主键默认为ObjectId(对象类型),mongodb会自动生成主键值db.student.insert({"name":"小黄","age":10});
db.COLLECTION_NAME.update(
,
,
)
db.student.update({"name":"小黄"},{"name":"小黄鸭","age":"18"})
db.COLLECTION_NAME.remove()
db.COLLECTION_NAME.find(query,projection)
db.student.find()
db.student.find({"name":"小黄"})
db.student.find({"name":"小黄"},{name:1,age:1,_id:0})
db.createUser(
{
user:"",
pwd: "",
custmData:{},
roles:[{role:"",db:""}]
}
)
db.createUser(
{
user:"root",
pwd: "123",
roles:[{role:"root",db:"admin"}]
}
)
内置角色
1. 在mongo.conf中设置`auth=true`
2. 重启MongoDB服务
1. 右键“此电脑”
2. 点击“管理”
3. “服务”中找到MongoDB
4. 右键—> “重新启动”
3. 使用账号密码连接数据库mongo.exe
mongo.exe -u root -p 123 --authenticationDatabase admin
show users
db.dropUser("<用户名>")
use admin
db.updateUser("test01",{roles:[role:"readWriteAnyDatabase",db:"admin"]})
use admin
db.changeUserPassword("username","newPwd")