mongodb的入门学习
Mongodb是一个基于分布式文件存储的数据库,是一个介于关系数据库与非关系数据库之间的产品,是非关系数据库中功能最丰富,最像关系数据库的。mongo支持的数据结构非常松散,是类似json的bson,mongo选用bson作为其存储结构的一个重要原因就是因为bson的可遍历性,所以能更好的支持复杂的数据类型。mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现关系数据库中单表查询绝大部分的功能,而且还支持对数据建立索引。
mongodb的两种使用方式:
一.通过cmd窗口连接mongodb服务端
1----->配置环境变量,将mongodb\bin目录配置到path
2----->打开cmd窗口,进入到bin目录,测试mongodb服务端是否在运行:net start mongodb
3----->命令行输入mongo (客户端连接服务器)
出现以下窗口即连接成功:
通过命令使用mongodb:
cd /mongodb/bin
./mongo 127.0.0.1:27017/admin -u root -p root_123
show dbs
use itsm
二.通过RoboMongo图形化工具连接mongodb服务端
常用知识:
显式创建集合:db.createCollection("collectionName");//创建一个名为collectionName的集合,创建完成后会返回 {"ok",1} json串
注:mongo中支持js,可通过js操作实现批零处理,如:for(var i=0;i<1000;i++){db.collection2.insert({name:"xiaomu"+i,age:20+i});}
插入单个元素:db.集合名.insert({name:"xujia",age:18})
插入多个元素:db.集合名.insertMany([{name:"lehan",age:18},{name:"xudaha",age:78}])
。。。。更多语法详见官方文档!!学东西真的得好好琢磨官方文档,博客什么的只是为了提起你的兴趣
spring整合mongodb:
1.使用MongoTemplate的常用操作
使用spring整合的话直接注入就可以了
@Autowried
private MongoTemplate mongoTemplate
操作时常用的两个方法是Query和Criteria (核心代码如下)
Query query = new Query();
Criteria c = new Criteria().andOperator(Criteria.where("tenantId").is(tenantId),
Criteria.where("modelId").is(modelId));
PageRequest pageRequest = new PageRequest(pageNum - 1, pageSize, sortRule ? Sort.Direction.ASC : Sort.Direction.DESC, orderBy);
query.addCriteria(c).with(pageRequest);
mongoTemplate.find(query, 实体类.class);
2.MongoRepository
以前是单单继承PagingAndSortingRepository类,现在可以额外继承一个新类querybyexampleexecutor,这个新特性特别实用!!详情见如下链接:https://blog.csdn.net/zhao_tuo/article/details/78604324