Mongodb速成笔记

Mongodb

MongoDB是一个开源、高性能、无模式【模式自由】的文档型数据库

应用场景:

  • 支持文本查询
  • 不需要支持事务,不存在复杂的多表查询,不支持join操作
  • 存储数据可持久化
  • 需要TB甚至 PB 级别数据存储
  • 需求变化较快,数据模型无法确认,预计使用快速迭代开发形式
  • 需要至少2000以上的读写QPS【高性能】
  • 能支持快速水平扩展【高扩展】
  • 99.999%高可用【高可用】

特点

  • 1、模式自由 ---- 不需要提前创建表,直接放数据就可以
  • 2、支持高并发 2000以上
  • 3、搭建集群比较方便
  • 4、支持海量数据存储
  • 5、介于关系型数据库和非关系型数据库之间的一款数据库
  • 6、ObjectID 用来生成主键

代码速成

新增

	@Autowired
    private MongoTemplate mongoTemplate;
    @Test
    public void saveTest() {
        ApAssociateWords apAssociateWords = new ApAssociateWords();
        apAssociateWords.setAssociateWords("黑马大家庭");
        apAssociateWords.setCreatedTime(new Date());
        mongoTemplate.save(apAssociateWords);
    }

查询

ID查询

	@Autowired
    private MongoTemplate mongoTemplate;
	@Test
    public void saveFindOne() {
        ApAssociateWords words = mongoTemplate.findById("651fc9f01588cc4e402c476a", ApAssociateWords.class);
        System.out.println(words);
    }

条件查询

	@Autowired
    private MongoTemplate mongoTemplate;
	@Test
    public void testQuery() {
        Query query = new Query();
        query.addCriteria(Criteria.where("associateWords").is("黑马大家庭")
        .and("createdTime").gt(new Date()))
        //排序
        .with(Sort.by(Sort.Direction.DESC,"createdTime"))
        //分页
        .limit(10);
        List<ApAssociateWords> list = mongoTemplate.find(query, ApAssociateWords.class);
        list.forEach(System.out::println);
    }

删除

@Autowired
private MongoTemplate mongoTemplate;
@Test
public void testDel() {
    Query query = new Query();
    query.addCriteria(Criteria.where("associateWords").is("黑马大家庭"));
    mongoTemplate.remove(query,ApAssociateWords.class);
}

修改

可以直接沿用save方法,如果存在ID,会直接覆盖,不存在直接保存,用insert方法只能保存

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值