72、MongoDB入门
< 返回列表时间: 2019-10-19来源:OSCHINA
【围观】麒麟芯片遭打压成绝版,华为亿元投入又砸向了哪里?>>>
MongoDB是一个基于分布式文件存储的数据库。由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似面向对象的查询语句,几乎可以实现类型关系数据库表单查询的绝大部份功能,而且还支持对数据库建立索引。

下载和安装MongoDB与Studio 3T(mongoDB客户端):略

基础概念:
database:数据库
collection:集合,类似数据库的表
document:文档,类似数据库的一行数据
field:域,类似数据库的字段
index:索引
primary key:主键,MongoDB自动在每个集合中添加_id主键
注意:Mongo DB不支持表链接


链接MongoDB指令:mongodb://root:root@localhost:27017,连接本地数据库27017端口的数据库,用户名root:密码root

java程序连接MongoDB
一、添加依赖 <dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-java-driver</artifactId> <version>3.11.0</version> </dependency>
二、测试 @Test public void testConnction() { //创建mongodb客户端 MongoClient mongoClient = new com.mongodb.MongoClient("localhost", 27017); //连接数据库 MongoDatabase database = mongoClient.getDatabase("test"); //获取集合 MongoCollection<Document> collection = database.getCollection("student"); //查询第一个文档 Document myDoc = collection.find().first(); //将文档转换成json格式输出显示 String json = myDoc.toJson(); System.out.println(json); }

MongoDB指令:
数据库
1、查询数据库: show dbs
2、显示当前数据库 :db
3、创建使用数据库:use DATABASE_NAME
注意:如果存在这个数据库,则切换到此数据库,没有则创建
4、删除数据库:db.dropDatabase()

集合
1、创建集合:db.createCollection(NAME,OPTIONS)
NAME: 集合名称
OPTIONS:创建参数
2、删除集合:db.COLLECTION_NAME.drop()

文档
1、插入文档:db.COLLECTION_NAME.insert(json格式数据)
2、更新文档:db.COLLECTION_NAME.update(第一个json数据用来匹配,第二个json数据用来更新)
3、删除文档:db.COLLECTION_NAME.remove(json格式数据,用于匹配,为空则删除所有数据)
4、查询文档:db.COLLECTION_NAME.find(json格式数据用于匹配,不写查询全部)

用户:
1、创建用户
db.createUser(
{
user:"root",
pwd:"root",
roles:[{roles:"root",db:"admin"}]
}
)
Mongodb内置很多角色,常用的有read,readWrite,root(超级用户)
2、查询数据库:show users
3、删除用户:db.dropUser("用户名")
4、修改用户:db.updateUser("root",{roles:[role:"read",db:"admin"]})
5、修改用户密码:db.changeUserPassword("USER_NAME","PASSWORD")

Spring boot工程使用Mongodb
一、导入工程依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency>
二、创建dao,继承MongoRepository,并指定实体类型和主键类型
三、dao接口继承MongoRepository,就可以使用save,delete等方法,也可以和spring Data Jpa一样,通过自定义方法等规则,如findByXXX,findByXXXAndXXX,countByXXXAndXXX等规则定义方法,实现查询操作。
热门排行