【Java、MongoDB】程序控制非关系数据库

步骤:

(1)连接

连接字符串

(2)CRUD

类与接口

解析

(3)maven管理方法

依赖

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

示例

package org.example;import com.mongodb.client.*;
import org.bson.Document;import java.util.Arrays;/*** @author gzb Email:a@wk2.cn* @since 2023/11/06 14:27*/
public class t1 {public static void main(String[] args) {MongoClient mongoClient = MongoClients.create("mongodb://localhost:27017");MongoDatabase mongoDatabase = mongoClient.getDatabase("myDB");MongoCollection<Document> collection = mongoDatabase.getCollection("video");System.out.println("before operation");insertExample(collection);System.out.println("after operation");FindIterable<Document> documents = collection.find();for (Document document: documents){System.out.println(document.toJson());}mongoClient.close(); // 记得关闭客户端连接}private static void insertExample(MongoCollection<Document> collection) {collection.insertMany(Arrays.asList(new Document("title", "MongoDB installation").append("author", "Mike").append("tags", Arrays.asList("MongoDB", "database")).append("views", 1221).append("evaluation", new Document("like", 22).append("forward", 10)),new Document("title", "Java programming  ").append("author", "Mike").append("tags", Arrays.asList("Java", "course")).append("views", 3411).append("evaluation", new Document("like", 112).append("forward", 32)),new Document("title", "Music recommend").append("author", "Joe").append("tags", Arrays.asList("music", "pop")).append("views", 38).append("evaluation", new Document("like", 2))));}}

操作

插入

   private static void insertExample(MongoCollection<Document> collection) {collection.insertMany(Arrays.asList(new Document("title", "MongoDB installation").append("author", "Mike").append("tags", Arrays.asList("MongoDB", "database")).append("views", 1221).append("evaluation", new Document("like", 22).append("forward", 10)),new Document("title", "Java programming  ").append("author", "Mike").append("tags", Arrays.asList("Java", "course")).append("views", 3411).append("evaluation", new Document("like", 112).append("forward", 32)),new Document("title", "Music recommend").append("author", "Joe").append("tags", Arrays.asList("music", "pop")).append("views", 38).append("evaluation", new Document("like", 2))));}

删除

private static void delete(MongoCollection<Document> collection){collection.deleteMany(Filters.eq("author", "Joe"));}

更新

 private static void update(MongoCollection<Document> collection) {collection.updateOne(new Document("title", "MongoDB installation").append("author", "Mike"),Updates.inc("views", 1));}

还有set,pop,push等操作 

替换

private static void replace(MongoCollection<Document> collection) {collection.replaceOne(Filters.eq("author", "tom"), new Document("author", "jacky").append("count",2));}

查找

private static void select(MongoCollection<Document> collection) {Bson filter = Filters.gt("evaluation.like", 10);FindIterable<Document> documents = collection.find(filter);for (Document document : documents) {System.out.println(document.toJson());}}

分组

 MongoCursor<Document> mongoCursor = collection.aggregate(Arrays.asList(Aggregates.match(Filters.empty()),Aggregates.group("$author", Accumulators.sum("count", 1)))).cursor();

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

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

相关文章

Jenkins 部署.net core 项目 - NU1301错误

/root/.jenkins/workspace/householdess/services/host/fdbatt.monitor.HttpApi.Host/fdbatt.monitor.HttpApi.Host.csproj : error NU1301: 本地源“/root/.jenkins/workspace/householdess/​http:/x.x.x.x:9081/repository/nuget.org-proxy/index.json”不存在。 [/root/.je…

Java中String的概念与应用

引言&#xff1a; 在Java编程语言中&#xff0c;String&#xff08;字符串&#xff09;是一个非常重要且广泛使用的类。String类代表不可变的字符序列&#xff0c;它提供了一系列方法来操作字符串。本文将详细描述Java中String的概念、特性以及在实际开发中的应用。 一、String…

Linux运维

1. 请解释什么是Linux操作系统&#xff1f; Linux操作系统是一种自由和开放源代码的类UNIX操作系统。它是基于UNIX的一个克隆&#xff0c;由林纳斯托瓦兹在1991年首次发布。Linux操作系统遵循POSIX标准&#xff0c;这意味着它可以运行在各种硬件平台上&#xff0c;如x86、ARM等…

汽车制动系统技术分析概要

目录 1.基本功能概述 2. 基本工作原理分析 2.1 Two-Box系统架构(Bosch_IBooster) 2.2 One-Box系统架构(Bosch_IPB) 2.3 ​​​​​​​ABS技术 2.4 TCS技术 2.5 VDC技术 2.6 EPB技术 2.7 小结 3. 该场景应用发展趋势分析 1.基本功能概述 传统汽车的底盘主要由传动系、…

在DDD领域驱动下的微服务数据库的MVC设计思路(高度可行性)

在DDD领域驱动下的微服务架构中使用MVC设计思路来设计数据库是可行的&#xff0c;因为MVC是一种经典的软件架构模式&#xff0c;可以将应用程序分为三个主要部分&#xff1a;模型、视图和控制器。在微服务架构中&#xff0c;每个微服务可以看作是一个模块&#xff0c;可以使用M…

最全面的软考架构师复习资料(历时2年整理)

一、面向服务的架构 1.请分别用200字以内文字说明什么是面向服务架构&#xff08;SOA&#xff09;以及ESB在SOA的作用与特点 面向服务的体系架构&#xff08;SOA&#xff09;是一种粗粒度、松耦合的服务架构&#xff0c;服务之间通过简单、精确定义接口进行通信。他可以根据需求…

CSS3 多媒体查询、网格布局

一、CSS3多媒体查询&#xff1a; CSS3 多媒体查询继承了CSS2多媒体类型的所有思想&#xff0c;取代了查找设备的类型。CSS3根据设置自适应显示。 多媒体查询语法&#xff1a; media not|only mediatype and (expressions) { CSS 代码...; } not: not是用来排除掉某些特定…

论文笔记:SimiDTR: Deep Trajectory Recovery with Enhanced Trajectory Similarity

DASFFA 2023 1 intro 1.1 背景 由于设备和环境的限制&#xff08;设备故障&#xff0c;信号缺失&#xff09;&#xff0c;许多轨迹以低采样率记录&#xff0c;或者存在缺失的位置&#xff0c;称为不完整轨迹 恢复不完整轨迹的缺失空间-时间点并降低它们的不确定性是非常重要…

RT-Thread构建与配置系统

简述 RT-Thread的构建与配置系统由以下几个部分组成&#xff1a; KConfig&#xff1a;kernel config配置文件&#xff08;提供系统的配置裁剪功能&#xff09;SCons&#xff1a;构建工具env工具&#xff1a;主要提供构建系统所需的各种环境变量以及软件包的管理 Kconfig在R…

【C++】this指针讲解超详细!!!

&#x1f490; &#x1f338; &#x1f337; &#x1f340; &#x1f339; &#x1f33b; &#x1f33a; &#x1f341; &#x1f343; &#x1f342; &#x1f33f; &#x1f344;&#x1f35d; &#x1f35b; &#x1f364; &#x1f4c3;个人主页 &#xff1a;阿然成长日记 …

Zookeeper篇---第五篇

系列文章目录 文章目录 系列文章目录一、Zookeeper为什么要这么设计?二、你知道Zookeeper中有哪些角色?三、你熟悉Zookeeper节点ZNode和相关属性吗?一、Zookeeper为什么要这么设计? ZooKeeper设计的目的是提供高性能、高可用、顺序一致性的分布式协调服务、保证数据最终一…

ElasticSearch的集群、节点、索引、分片和副本

Elasticsearch是面向文档型数据库&#xff0c;一条数据在这里就是一个文档。为了方便大家理解&#xff0c;我们将Elasticsearch里存储文档数据和关系型数据库MySQL存储数据的概念进行一个类比 ES里的Index可以看做一个库&#xff0c;而Types相当于表&#xff0c;Documents则相当…

宠物社区系统宠物领养小程序,宠物救助小程序系统多少钱?

当前很多的宠物被抛弃和虐杀&#xff0c;它们没有选择权&#xff0c;我们强制性的把狗带进人类的生活中&#xff0c;然后又无情的抛弃&#xff0c;让它们无家可归&#xff0c;变成流浪狗&#xff0c;它们做错了什么&#xff1f;流浪动物被主人遗弃之后居无定所&#xff0c;时刻…

海康工业相机如何提高相机帧率

影响帧率的因素 相机参数 帧率限制使能 像素格式 曝光时间 数据包大小&#xff08;网口&#xff09; 相机默认参数 ADC位深 系统环境设置

HDU 1716:排列2 ← next_permutation()

【题目来源】http://acm.hdu.edu.cn/showproblem.php?pid1716【题目描述】 Ray又对数字的列产生了兴趣&#xff1a; 现有四张卡片&#xff0c;用这四张卡片能排列出很多不同的4位数&#xff0c;要求按从小到大的顺序输出这些4位数。【输入格式】 每组数据占一行&#xff0c;代…

相机内外参实践之点云投影矢量图

目录 概述 涉及到的坐标变换 深度值可视化 3D点云的2D投影实现 实现效果 参考文献 概述 Camer的内外参在多模态融合中主要涉及到坐标系变换&#xff0c;即像素坐标、相机坐标以及其他坐标系。这篇就针对点云到图像的投影与反投影做代码实践&#xff0c;来构建一张具有深度…

阿里云-maven私服idea访问私服与组件上传

1.进入aliyun制品仓库 2. 点击 生产库-release进入 根据以上步骤修改本地 m2/setting.xml文件 3.pom.xml文件 点击设置获取url 4. idea发布组件

【JAVA学习笔记】 68 - 网络——TCP编程、UDP编程

项目代码 https://github.com/yinhai1114/Java_Learning_Code/tree/main/IDEA_Chapter21/src 网络 一、网络相关概念 1.网络通讯 1.概念:两台设备之间通过网络实现数据传输 2.网络通信:将数据通过网络从一台设备传输到另一台设备 3. java.net包下提供了一系列的类或接口&a…

NFS文件系统共享服务器实战

架设一台NFS服务器&#xff0c;并按照以下要求配置 准备 两台Linux虚拟机一台作为服务端server&#xff0c;一台作为客户端client server IPV4&#xff1a;192.168.110.136/24 client IPV4&#xff1a;192.168.110.134/24 两台服务器都需要关闭防火墙和seLinux 服…