Java操作MongoDB之mongodb-driver

mongodb-driver是mongo官方推出的java连接mongoDB的驱动包,相当于JDBC驱动。
通过一个入门的案例来了解mongodb-driver的基本使用:

1、查询全部记录

1.1、创建工程mongoDemo,引入依赖

<dependency><groupId>org.mongodb</groupId><artifactId>mongodb-driver</artifactId><version>3.6.3</version>
</dependency>

1.2、创建测试类

public class MongoDemo1 {public static void main(String[] args) {// 创建连接MongoClient client = new MongoClient("192.168.206.128");// 打开数据库spitdbMongoDatabase spitdb = client.getDatabase("spitdb");// 获取集合MongoCollection<Document> spit = spitdb.getCollection("spit");// 查询记录,获取文档集FindIterable<Document> documents = spit.find();// 循环遍历for (Document document : documents) {System.out.println("内容:" + document.getString("content"));System.out.println("用户ID:" + document.getString("userid"));System.out.println("浏览量:" + document.getInteger("visits"));}// 关闭连接client.close();}
}

2、条件查询

BasicDBObject对象:表示一个具体的记录,BasicDBObject实现了DBObject,是key/value的数据结构,用起来和HashMap是基本一致的。

2.1、查询userid为1013的记录

public class MongoDemo1 {public static void main(String[] args) {// 创建连接MongoClient client = new MongoClient("192.168.206.128");// 打开数据库spitdbMongoDatabase spitdb = client.getDatabase("spitdb");// 获取集合MongoCollection<Document> spit = spitdb.getCollection("spit");// 构建查询条件,通过userid进行查询BasicDBObject bson = new BasicDBObject("userid", "1013");// 通过userid查询记录获取文档集FindIterable<Document> documents = spit.find(bson);// 循环遍历for (Document document : documents) {System.out.println("内容:" + document.getString("content"));System.out.println("用户ID:" + document.getString("userid"));System.out.println("浏览量:" + document.getInteger("visits"));}// 关闭连接client.close();}
}

2.2、查询浏览量大于1000的记录

public class MongoDemo2 {public static void main(String[] args) {// 创建连接MongoClient client = new MongoClient("192.168.206.128");// 打开数据库spitdbMongoDatabase spitdb = client.getDatabase("spitdb");// 获取集合MongoCollection<Document> spit = spitdb.getCollection("spit");// 构建查询条件,查询visits大于1000的结果BasicDBObject bson = new BasicDBObject("visits", new BasicDBObject("$gt", 1000));// 通过userid查询记录获取文档集FindIterable<Document> documents = spit.find(bson);// 循环遍历for (Document document : documents) {System.out.println("内容:" + document.getString("content"));System.out.println("用户ID:" + document.getString("userid"));System.out.println("浏览量:" + document.getInteger("visits"));}// 关闭连接client.close();}
}

3、插入数据

public class MongoDemo3 {public static void main(String[] args) {// 创建连接MongoClient client = new MongoClient("192.168.206.128");// 打开数据库spitdbMongoDatabase spitdb = client.getDatabase("spitdb");// 获取集合MongoCollection<Document> spit = spitdb.getCollection("spit");// 准备数据HashMap<String, Object> map = new HashMap<>();map.put("content", "我要吐槽");map.put("userid", "9999");map.put("visits", 123);map.put("publishtime", new Date());//Document document = new Document(map);// 插入一条数据spit.insertOne(document);// 关闭连接client.close();}
}

转载于:https://www.cnblogs.com/tian-ci/p/10543060.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/351289.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

具有Stormpath和Spring Boot的OAuth 2.0令牌管理

建筑物身份管理&#xff0c;包括身份验证和授权&#xff1f; 尝试Stormpath&#xff01; 我们的REST API和强大的Java SDK支持可以消除您的安全风险&#xff0c;并且可以在几分钟内实现。 注册 &#xff0c;再也不会建立auth了&#xff01; OAuth 2.0令牌管理经常被误解并且难…

5c用计算机怎么打,再一次谈谈%5c暴库的利用 -电脑资料

再一次谈谈%5c暴库的利用技术&#xff0c;原因我只找到含糊的说法&#xff1a;/的UNICODE是%5c当提交时,IIS无法正常解析,导致暴库&#xff0c;还有很多人说不成功&#xff0c;我要说的三点&#xff1a;1。一般的错误返回页面是本地IE提供的,所以我们先得关了本地的错误页面,具…

CentOS 6.4安装pip,CentOS安装python包管理安装工具pip的方法

之前有的朋友问我&#xff0c;CentOS版本怎么安装python的pip&#xff0c;我之前给出的Ubuntu下apt-get的方法 ubuntu 需要先安装下pip吧&#xff0c; apt-get install python-pip 安装requests&#xff0c; pip install requests 但是有的朋友由于是centos的&#xff0c;直接…

计算机网络原理如何修改本机mtu值,电脑的本地mtu值要怎么设置

相信很多人在玩dota2时都会出现使用wifi联网卡顿的现象&#xff0c;往往是电脑mtu值设置出现问题。下面由学习啦小编为你整理了电脑的本地mtu值要怎么设置的相关方法&#xff0c;希望对你有帮助!电脑设置mtu值的方法如下MTU值是按照TCP/IP协议传输数据报时的最大传输单元。从本…

Python 编程精选

↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑为了方便查找&#xff0c;请看目录&#xff08;手机端就没有目录哦&#xff09; 注&#xff1a;本文篇幅较大&#xff0c;请耐心等待&#xff08;power by 《Python黑帽子:黑客与渗透测试编程之道 》&#xff0…

Docker 内程序时间设置,很重要

Docker 内程序时间设置&#xff0c;很重要 原文:Docker 内程序时间设置&#xff0c;很重要重要!!!!! 创建容器时候需要修改一个参数,设置tomcat的时区 -e TZ"Asia/Shanghai" -v /etc/localtime:/etc/localtime:roposted on 2019-03-02 15:15 NET未来之路 阅读(...) 评…

计算机教师专业发展论文,关于教师专业发展的计算机专业论文

1教师专业发展内涵阐述1.1专业知识发展教师的专业知识是教书育人的前提。计算机教师的专业知识包括三个方面&#xff1a;一是日常生活、人文素养等基础文化知识&#xff1b;二是教育理论、教学方法等教育学科知识&#xff1b;三是综合的计算机学科专业知识。1.2专业能力发展教师…

[BZOJ1497] [NOI2006]最大获利

Description 新的技术正冲击着手机通讯市场&#xff0c;对于各大运营商来说&#xff0c;这既是机遇&#xff0c;更是挑战。THU集团旗下的CS&T通讯公司在新一代通讯技术血战的前夜&#xff0c;需要做太多的准备工作&#xff0c;仅就站址选择一项&#xff0c;就需要完成前期市…

谷歌guava_Google Guava –期货

谷歌guava这篇文章是我在Google Guava上的系列文章的延续&#xff0c;这次涵盖了Future。 Futures类是用于使用Future / ListenableFuture接口的静态实用程序方法的集合。 Future是已提交给ExecutorService的异步任务&#xff08;可运行或可调用&#xff09;的句柄。 Future接口…

北航计算机组成原理ppt,北航计算机组成原理课件.ppt

北航计算机组成原理课件本讲内容 透视计算机&#xff1a;计算机组成与结构总结 组成部件 内部连接 理解计算机&#xff1a;机器指令的执行过程 计算机最基本的操作与控制&#xff1a;微操作 指令的执行过程 程序的执行 计算机的时序控制方式 时序系统简介 计算机结构(Architect…

urllib2使用总结

keywords: urllib2,BeautifulSoup,cookielib 题外话: 小弟是编程爱好者&#xff0c;各位看官轻拍。 最近在使用urllib2抓取网页内容&#xff0c;在学习的过程中也查阅了不少资料,并从中收获很多。在查阅资料的过程中&#xff0c;我发现大部分资料都是建立在对urllib2的熟悉基…

Linux基础第五课——用户管理

用户管理 一个用户必须有一个主组一个用户可以拥有多个组 但是必须一个主组 其它组是临时组一个组可以拥有多个用户用户的信息放到 /etc/passwd 用户的密码 存入 /etc/shadow 组信息存到 /etc/group添加用户 add useradd shengliang 这时候会在 /etc/passwd 下生成一条记录 she…

降调软件测试自学,普通话测试及变调.ppt

普通话测试及变调(二)去声变调 当两个去声字相连&#xff0c;前面的去声字不读重音的时候&#xff0c;调值由全降变为半降&#xff0c;51变为53。 错误 汉字 介绍 注意 外地 善意 艺术 戏剧 预告 降落 锻炼 倒退 大会 自治 迫害 照相 木料 正确 “一”变调?? ?1.??“一”在…

信守承诺:JAX-RS API的基于合同的测试

自从我们谈论测试和应用有效的TDD实践以来已经有一段时间了&#xff0c;特别是与REST&#xff08;ful&#xff09; Web服务和API相关的实践。 但是&#xff0c;这个主题永远都不应忘记&#xff0c;特别是在每个人都在做微服务的世界中&#xff0c;无论它意味着什么&#xff0c;…

P2084 进制转换

原题链接 https://www.luogu.org/problemnew/show/P2084 这个题的思路就是先将输入的数字存到字符数组里&#xff0c;然后求出这一串数字中的非0元素的个数total&#xff0c;并记录最后一位非0元素的位置。输出时&#xff0c;先输出total-1个&#xff0c;最后再补上第total个&a…

关于C++ const 的全面总结

C中的const关键字的用法非常灵活&#xff0c;而使用const将大大改善程序的健壮性&#xff0c;本人根据各方面查到的资料进行总结如下&#xff0c;期望对朋友们有所帮助。 Const 是C中常用的类型修饰符,常类型是指使用类型修饰符const说明的类型&#xff0c;常类型的变量或对象…

国家普通话水平智能测试软件,国家普通话水平智能测试系统注意事项

国家普通话水平智能测试系统注意事项导语&#xff1a;为了让考生更顺利的通过普通话考试&#xff0c;下面是小编给大家提供的国家普通话水平智能测试系统注意事项&#xff0c;大家可以参考阅读&#xff0c;更多详情请关注应届毕业生考试网。一、登录阶段&#xff1a;1. 请正确佩…

从尾到头打印链表

题目描述 输入一个链表&#xff0c;按链表值从尾到头的顺序返回一个ArrayList。 python solution&#xff1a; # -*- coding:utf-8 -*- class ListNode:def __init__(self, x):self.val xself.next Noneclass Solution:# 返回从尾部到头部的列表值序列&#xff0c;例如[1,2,3…

Advanced C++ -- Logic Constness and Bitwise Constness

首先介绍一下什么是Logic Constness和Bitwise Constness&#xff0c;Logic Constness指的是function 后的const修饰&#xff0c;我们只知道这个function被const修饰了&#xff0c;但是并没有任何变量被const&#xff0c;Bitwise Constness指的是变量&#xff08;指针&#xff0…

计算机社团竞选优势6,社团社长竞选稿六篇

社团社长竞选稿六篇在社会一步步向前发展的今天&#xff0c;用到竞选稿的地方越来越多&#xff0c;竞选稿可以帮助竞选者更好地表达。还是对竞选稿一筹莫展吗&#xff1f;以下是小编为大家收集的社团社长竞选稿6篇&#xff0c;仅供参考&#xff0c;希望能够帮助到大家。社团社长…