前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MongoDB Java 操作技巧总结

MongoDB Java 操作技巧总结

原创
作者头像
我的小熊不见了丶
修改2020-06-08 10:56:56
1.3K0
修改2020-06-08 10:56:56
举报
文章被收录于专栏:晓月寒·

MongoDB 是一个基于分布式文件存储的文档型数据库,使用过MongoDB的同学相信很难不被他的特性所吸引。MongoDB 中许多名词和我们常用的关系型数据库不太一致:

对比

作为一个数据库,最基本的功能就是CRUD:

增:db.collection.insertOne(Document)

insert

改:db.collection.updateOne(Bson filter,Bson update)

update

新增或修改:collection.replaceOne(filter, update, new UpdateOptions().upsert(true))

upsert

删除:collection.deleteOne(filter)/collection.deleteMany(filter);

delete

查询:db.collection.find(query, projection)

相比于上面的几种操作,查询就会显得更有技巧。

  • query :可选,使用查询操作符指定查询条件
  • projection :可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。

如果你需要以易读的方式来读取数据,可以使用 pretty() 方法,语法格式如下:

db.col.find().pretty()

如果你只想要查询一条数据,还可以使用findOne() 方法,它只返回一个文档。

查询的关键在于怎么去灵活的构建query对象。

通过id查询一条记录:

queryOne

如果有多个条件,则继续put条件进filter:

query

聚合操作:MongoDB中聚合(aggregate)主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果。有点类似sql语句中的 count(*)。

aggregate

像这种稍微有点复杂的sql要在Mongodb中实现就会显得比较复杂了:select sum(*) from (select deCode from tb group by Decode) t1

aggregate

当然如果你只是单纯的想要查询一个总数,那也有简单的方法:collection.count(cnd);

count

有了以上的这些方法,基本上能完成日常工作中的任务了。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MongoDB
腾讯云数据库 MongoDB(TencentDB for MongoDB)是腾讯云基于全球广受欢迎的 MongoDB 打造的高性能 NoSQL 数据库,100%完全兼容 MongoDB 协议,支持跨文档事务,提供稳定丰富的监控管理,弹性可扩展、自动容灾,适用于文档型数据库场景,您无需自建灾备体系及控制管理系统。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档