分享java操作mongodb的crud代码

2023-11-09

代码中包括了mongodb的crud及其分页查询,排序功能

下载地址:分享java操作mongodb的crud代码

package com.zuidaima.mongodb.test;

import java.net.UnknownHostException;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;
import com.mongodb.Mongo;
import com.mongodb.MongoException;

public class Main {

	private Mongo mongo = null;
	private DB db = null;
	private DBCollection test;

	@Before
	public void init() {
		try {
			mongo = new Mongo("localhost");
			db = mongo.getDB("test");
			test = db.getCollection("test");
		} catch (UnknownHostException e) {
			e.printStackTrace();
		} catch (MongoException e) {
			e.printStackTrace();
		}
	}

	@Test
	public void create() {
		BasicDBObject data = new BasicDBObject().append("hosting", "hostA");
		data.put("name", "中文");
		data.put("name", "英文");
		test.save(data);
	}

	@Test
	public void load() {
		BasicDBObject query = new BasicDBObject();
		query.put("name", "中文");
		DBCursor cursor = test.find(query);
		while (cursor.hasNext()) {
			DBObject object = cursor.next();
			System.out.println(object);
		}
	}

	@Test
	public void page() {
		int count = 10;
		int page = 1;
		int skip = (page - 1) * count;
		DBCursor cursor = test.find().limit(count).skip(skip);
		while (cursor.hasNext()) {
			DBObject object = cursor.next();
			System.out.println(object);
		}
	}

	@Test
	public void sort() {
		int count = 10;
		int page = 1;
		int skip = (page - 1) * count;
		DBCursor cursor = test.find().limit(count).skip(skip)
				.sort(new BasicDBObject("_id", -1));
		while (cursor.hasNext()) {
			DBObject object = cursor.next();
			System.out.println(object);
		}
	}

	@Test
	public void update() {
		BasicDBObject query = new BasicDBObject();
		query.put("name", "中文");
		DBCursor cursor = test.find(query);
		DBObject object = cursor.next();

		BasicDBObject newObject = new BasicDBObject();
		newObject.put("name", "中文");
		newObject.put("value", "chinese");
		test.update(object, newObject);
		cursor = test.find();
		while (cursor.hasNext()) {
			System.out.println(cursor.next());
		}
	}

	@Test
	public void delete() {
		BasicDBObject query = new BasicDBObject();
		query.put("name", "中文");
		DBCursor cursor = test.find(query);
		DBObject object = cursor.next();
		test.remove(object);

		cursor = test.find();
		while (cursor.hasNext()) {
			System.out.println(cursor.next());
		}
	}

	@After
	public void destory() {
		if (mongo != null)
			mongo.close();
		mongo = null;
		db = null;
	}

}

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

分享java操作mongodb的crud代码 的相关文章

  • 使用 AbstractTableModel 获取 JTable 中选定的行

    我有一个JTable using AbstractTableModel我在哪里有一个JCheckBox在第一列中用于选择行 现在 我需要从已检查的表中获取选定的行 现在 我按顺序从第一行遍历到最后一行并获取所有选择的行 如下所示 List
  • 在 IntelliJ 上进行 Google App Engine Java 开发?

    令人烦恼的是 Google App Engine 已成为其中的另一个项目 他们只发布 Eclipse 插件 如 Spring Webflow 而我更喜欢 IntelliJ 你能用IntelliJ成功运行本地测试环境吗 并调试 部署本地或实时
  • 对 Java 中 *any* 类的所有实例进行全排序

    我不确定以下代码是否能确保 Comparator 的 Javadoc 中给出的所有条件 class TotalOrder
  • 静态方法的 Java 内存模型

    我来自操作系统和 C 语言背景 在代码编译时 世界很简单 需要处理和理解堆栈 堆文本部分等 当我开始学习 Java 时 我确实了解 JVM 和垃圾收集器 我对静态方法感到很有趣 根据我的理解 类的所有实例都会在堆中创建 然后被清理 但是 对
  • 使用 Spring Data REST 处理自定义异常 (i18n)

    我正在使用 Spring Boot 1 5 4 和 Spring JPA Spring Data REST HATEOAS 我正在寻找一种最佳实践 Spring 方式 来自定义异常 Spring Data REST 正在管理添加 i18n
  • 使用除 SINGLE_TABLE 之外的任何其他 Hibernate 继承策略时 JVM 崩溃

    好吧 这可能不太可能 但还是这样吧 在Java JRE 1 6 0 26 b03 中我有两个类 SuperControl及其子类SubControl 它们都需要是持久对象 我正在使用 Hibernate Annotations 来实现这一点
  • firebase推送通知错误Spring Boot服务器端

    我正在尝试从 Spring Boot 服务器端发送通知到客户端 android 服务器运行良好 一切都很好 2020 09 01 08 13 07 691 INFO 18941 restartedMain e DevToolsPropert
  • 如果基于 Spring 注解的控制器位于 jar 文件内,则该控制器无法工作

    我的子模块中有一些基于注释的控制器 这些模块作为 jar 文件部署 jar 文件中基于注释的控制器未加载到 spring 配置中 我使用 Eclipse 中的导出实用程序手动导出 jar 文件 有人遇到过这个问题吗 当您使用 Eclipse
  • 如何将自定义日志处理程序添加到 Google App Engine?

    我正在尝试向我的 java 应用程序添加自定义日志处理程序 我已经实现了一个扩展 java util Logging Handler 类的 InnerLogger 类 在我的logging properties中声明为处理程序 handle
  • 尝试在java中的Arraylist中查找对象的所有出现

    我有一个 Java ArrayList 我需要查找其中出现的所有特定对象 ArrayList indexOf Object 方法只找到一次出现 所以看来我还需要其他东西 我认为你不需要太花哨 以下应该可以正常工作 static
  • Java 唤醒休眠线程

    我阅读了其他帖子 但没有找到我正在寻找的确切答案 所以我希望有人能给出一些澄清 我有一个将运行一段时间的程序 我有一些在后台运行的线程来执行各种任务 为了简单起见 让我们考虑 3 个线程 ThreadA每 10 秒执行一次任务 其中Thre
  • 将 mongodb 与 solr 集成的动机是什么 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 Mongodb 是一个 nosql 数据库 除了全文搜索之外 任何查询都可以在其上运行 因为它会降低整体性能 Solr 是一个搜索引擎 当我们将
  • 使用Java开发跨平台,不同平台字体缩放不同

    我正在为我的大学制作一些软件 需要一个 GUI 在它的第一个版本中 我让它使用系统外观 因此它看起来像 Linux Mac Windows 中的本机应用程序 我发现这很麻烦 因为我必须根据操作系统使所有 JLabel 具有不同的大小 无论分
  • HTTP PUT 在 Java 中上传文件

    Edit 我想我已经弄清楚如何执行二进制数据部分 仔细检查代码 但我很确定我做对了 现在 当我尝试按照中所述完成上传时遇到新错误Vimeo API 文档 http vimeo com api docs upload streaming Ed
  • 是否可以为 azure blob 存储中的给定目录生成具有写入权限的 SAS(共享访问签名)

    我们的 blob 存储帐户结构 容器名称 simple 在这个容器内我们有 blob aa one zip aa two zip bb ss zip bb dd zip 是否可以生成对aa 目录 有写权限 但对bb 目录 没有访问权限的SA
  • 无法映射 ftl 文件中的 jsonRequest 属性

    我想在 FTL 文件中映射下面的 json 文件市场和子市场字段 但是当我尝试下面的代码时 它没有映射 有人可以帮助我吗 我从 2 天开始就无法映射它 Json请求 ProcessOrderRequest prevalidationMode
  • 找不到符号assertEquals

    我正在尝试为计算器编写第一个单元测试 但 NetBeans 说它找不到该符号assertEquals和注释 Test 我应该包括一些东西吗 我正在使用 NetBeans 7 3 1 和 W7 package calculator impor
  • scala中的协变类型参数需要在java接口中保持不变

    我有一个看起来像这样的特征 一些进一步的信息可以在我自己提出了这个相关问题 https stackoverflow com questions 3695990 inheritance and automatic type conversio
  • 如何使用剪辑来减少绘画时间?

    我正在尝试使用 Clip 来减少 CPU 负载 但剪辑在屏幕上留下了一些我似乎无法摆脱的垃圾 另外 打开和关闭剪辑似乎对 CPU 负载没有影响 在任一情况下 大部分时间似乎都花在重绘管理器和绘制缓冲图像上 import static jav
  • 我找不到 IntelliJ 快捷方式

    我使用 vim 一段时间 我知道有一个 intellij vim 插件 我很好奇内置的 IntelliJ 文本导航存在什么 如何打开实时模板来创建模板 如何查看以 tr 开头的现有模板列表 如何进行全局搜索并在当前文档中进行搜索 然后转到下

随机推荐

  • 在java中插入gif_在java程序中显示gif图片的代码

    import java awt import java awt image public class ImageCanvas extends Canvas Image image public ImageCanvas String name
  • rsync 未授权访问漏洞

    雨笋教育小编来分享干货了 感兴趣的可以一同探讨 0x00前言 rsync是Linux下一款数据备份工具 支持通过rsync协议 ssh协议进行远程文件传输 0x01漏洞原理 rsync协议默认监听873端口 如果目标开启了rsync服务 并
  • BUCK BOOST以及Charge Pump电路原理

    下文为个人总结三种常见的开关电源 如有疑问欢迎评论区讨论 BUCK 当开关管Q1驱动为高电平时 开关管导通 储能电感L1被充磁 流经电感的电流线性增加 同时给电容C1充电 给负载R1提供能量 当开关管Q1驱动为低电平时 开关管关断 储能电感
  • hivesql解析json格式的key与value

    目录 解析json格式中的key 解析json格式中的value json格式示例 city code 340100 county code 340111 orientation 东 road id 35204271 speed 35 72
  • NNDL 实验六 卷积神经网络(3)LeNet实现MNIST

    目录 5 3 基于LeNet实现手写体数字识别实验 5 3 2 模型构建 5 3 3 模型训练 5 3 4 模型评价 5 3 5 模型预测 使用前馈神经网络实现MNIST识别 与LeNet效果对比 选做 可视化LeNet中的部分特征图和卷积
  • docker安装redis Docker安装redis docker安装Redis 详细教程

    docker安装redis Docker安装redis docker安装Redis 详细教程 Docker 上安装 Redis 的步骤 选择要安装的Redis版本 1 拉取 Redis 镜像 2 创建并运行容器 创建 redis conf
  • 02-linux安装nodejs

    1 前期准备 1 Node js简介 简单的说 Node js 就是运行在服务端的 JavaScript Node js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境 Node js 使用了一个事件驱动 非阻塞式
  • 组态王、力控、MCGS、瑞尔、杰控等国内组态软件一点看法

    2005年08月28日 23 26 00 从结构上说 组态王和MCGS一样 前台动画和后台集成在一起 在运行模式下一起运行 而力控 瑞尔却分为后台驱动 实时数据库 前台三部分组成 更为有意思的是 瑞尔的每一个驱动就是一个EXE 其驱动DLL
  • Spring 中的事件监听机制

    目录 1 标准的 Spring 事件机制 1 ApplicationEvent 自定义事件 2 ApplicationEventPublisher 发布事件 3 ApplicationListener 监听事件 2 基于 EventList
  • 嵌入式与人工智能关系_嵌入式人工智能的发展趋势

    嵌入式与人工智能关系 嵌入式人工智能的发展趋势 所谓嵌入式人工智能 就是设备无须联网通过云端数据中心进行大规模计算去实现人工智能 而是在本地计算 在不联网的情况下就可以做实时的环境感知 人机交互 决策控制 那么嵌入式与人工智能关系是什么 嵌
  • spark学习6:应用程序的打包部署

    standlone 集群模式下 提交应用后 可以在浏览器中输入 spark master 8080 查看执行情况 yarn集群模式下 提交应用程序 提交后 可以在tracking URL 中查看记录 如下图 ps 在 spark shell
  • python项目实现配置统一管理的方法

    一个比较大的项目总是会涉及到很多的参数 最好的方法就是在一个地方统一管理这些参数 最近看了不少的python项目 总结了两种很有意思的配置管理方法 第一种 基于easydict实现的配置管理 首先需要安装numpy easydict以及ya
  • jmeter性能测试输出html报告

    前言 jmeter在界面模式下执行性能测试会占用大量的系统资源 导致测试数据不准确 为了减少系统资源的占用 我们建议在cmd 即非GUI模式 模式输入命令 进行性能测试 jmeter自带输出html测试报告功能 1 准备 写好脚本 2 在j
  • mysql—注入点获取WebShell的几种方式

    利用条件 1 有写文件条件 secure file priv show variables 要么禁用 要么设置了路径 show variables like secure 目录权限 对于MySQL来说 有可以对某个目录进行读写的权限 Sel
  • 【C++】【MATLAB】三元二次多项式拟合求极值点原理+代码

    一 需求描述 本人最近需要对多个3维数据进行曲线的拟合 并且找到极大值点 难点 1 一组数据有125个点 每个点有3个坐标值 x y z 以及一个对应的得分值t x y z范围不限 t的范围是0到1 2 得用C 语言去实现本人的需求 因此在
  • npm安装compression-webpack-plugin插件报错问题记录

    文章目录 问题再现 解决方案 总结 问题再现 因项目需要 在前端项目中安装compression webpack plugin插件 运行npm install compression webpack plugin命令之后在package j
  • 二分-最小值最大化问题

    二分 最小值最大化问题 大家好 鄙人第一次写CSDN博客 多多关照 大家共同进步 什么是最小值最大化问题问题呢 我们以一道经典例题为例 例题 POJ2456 链接 http poj org problem id 2456 题目描述 原文 D
  • MatrixDB 从4018个参赛项目中脱颖而出,获 HICOOL 全球创业大赛

    MatrixDB 又获奖了 聚焦全球创新创业趋势的 HICOOL 2021 全球创业大赛 历时145天的激烈角逐 遍布全球84个国家和地区 4018个参赛项目 5077名创业人才报名参加 作为今年最火热的国际化创业赛事 北京四维纵横数据技术
  • 华为OD机试 - 优秀学员统计(Java)

    题目描述 公司某部门软件教导团正在组织新员工每日打卡学习活动 他们开展这项学习活动已经一个月了 所以想统计下这个月优秀的打卡员工 每个员工会对应一个id 每天的打卡记录记录当天打卡员工的id集合 一共30天 请你实现代码帮助统计出打卡次数t
  • 分享java操作mongodb的crud代码

    代码中包括了mongodb的crud及其分页查询 排序功能 下载地址 分享java操作mongodb的crud代码 package com zuidaima mongodb test import java net UnknownHostE