Java Python访问MongoDB

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: Java Python访问MongoDB

1.Java访问MongoDB

pom.xml

代码语言:javascript

复制

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>mongoDB</groupId>
  <artifactId>mongoDB</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>17</maven.compiler.source>
    <maven.compiler.target>17</maven.compiler.target>
<maven-compiler-plugin-version>3.8.1</maven-compiler-plugin-version>
  </properties>
  
<dependencies>
<dependency>
      <groupId>org.mongodb</groupId>
      <artifactId>mongo-java-driver</artifactId>
      <version>3.12.10</version>
</dependency>
</dependencies>
</project>

Java程序

代码语言:javascript

复制

package mongoDB;
           
import com.mongodb.MongoClient;
import com.mongodb.client.FindIterable;
import com.mongodb.MongoClientURI;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import org.bson.Document;
           
public class MongoDB {
    // MongoDB服务器的连接URI
    public static  String uri = "mongodb://192.168.31.184:27017";
    // 创建MongoClient实例
    public static MongoClientURI clientURI = new MongoClientURI(uri);    
    public MongoClient mongoClient = new MongoClient(clientURI);     
       
    public MongoDatabase connect(String dbname) {
        // 连接成功,可以进行数据库操作
        System.out.println("Connected to MongoDB");
        // 获取数据库实例
        MongoDatabase database = mongoClient.getDatabase(dbname);
        return database;
    }
    
    public void disconnect() {
           // 关闭连接
           this.mongoClient.close();
    }
    
    public MongoCollectiongetCollection(MongoDatabase database,String mycollection) {    
    
        // 获取集合实例
        MongoCollection collection = database.getCollection(mycollection);
        return collection;    
    }
    
    public void insertDocument(String key,String value,MongoCollectioncollection) {
            // 插入文档
        Document document = new Document(key, value)
               .append("age", 40);
               collection.insertOne(document);
    }
    
    public void searchDocument(String key,String value,MongoCollectioncollection) {
    // 查询文档
    Document query = new Document(key, value);
    MongoCursor cursor = collection.find(query).iterator();
    while (cursor.hasNext()) {
           Document result = cursor.next();
           System.out.println(result.toJson());
    }
}
        
    public void ViewAllDocument(MongoCollectioncollection) {
           FindIterable iterable = collection.find();
           for (Document document : iterable) {
                  System.out.println(document.toJson());
           }
    }
    
    public void updateDocument(String key_filter,String value_filter,String key_update,String value_update,MongoCollectioncollection) {
            // 更新文档
        Document filter = new Document(key_filter,value_filter);
        Document update = new Document("$set", new Document(key_update,value_update));
        collection.updateOne(filter, update);
    }
    
    public void updateDocument(String key_filter,String value_filter,String key_update,int value_update,MongoCollectioncollection) {
           // 更新文档    
       Document filter = new Document(key_filter,value_filter);
       Document update = new Document("$set", new Document(key_update,value_update));
       collection.updateOne(filter, update);
   }
    
    
    public void deleteDocument(String key,String value,MongoCollectioncollection) {
        // 删除文档
           Document filter = new Document(key, value);
           collection.deleteOne(filter);
    }
    
    public static void main(String[] args) {
           MongoDB mdb = new MongoDB();
           MongoDatabase database = mdb.connect("admin");
           MongoCollection collection = mdb.getCollection(database,"person");
           System.out.println("显示全部");
           mdb.ViewAllDocument(collection);
           System.out.println("显示一条");    
           mdb.searchDocument("name","Jerry",collection);
           mdb.insertDocument("name","Jhon",collection);
           System.out.println("插入一条Jhon");
           mdb.ViewAllDocument(collection);
           mdb.updateDocument("name","Jhon","age",19,collection);
           System.out.println("修改Jhon,修改年龄为19");
           mdb.ViewAllDocument(collection);
           mdb.deleteDocument("name","Jhon",collection);
           System.out.println("删除一条Jhon");
           mdb.ViewAllDocument(collection);
     mdb.disconnect();
    }
}

输出

代码语言:javascript

复制

{"_id": {"$oid": "66d7de35f5f38e175c5e739c"}, "name": "Jerry", "age": 28}
{"_id": {"$oid": "66d7decaf5f38e175c5e739d"}, "name": "Tom", "age": 37}
{"_id": {"$oid": "66d7df39f5f38e175c5e739e"}, "name": "Cindy", "age": 43}
{"_id": {"$oid": "66d7df39f5f38e175c5e739f"}, "name": "Linda", "age": 21}    
{"_id": {"$oid": "66d7df39f5f38e175c5e73a0"}, "name": "Jessca", "age": 34}
{"_id": {"$oid": "66d7de35f5f38e175c5e739d"}, "name": "Jerry", "age": 24}
显示一条
{"_id": {"$oid": "66d7de35f5f38e175c5e739c"}, "name": "Jerry", "age": 28}
{"_id": {"$oid": "66d7de35f5f38e175c5e739d"}, "name": "Jerry", "age": 24}
插入一条Jhon
{"_id": {"$oid": "66d7de35f5f38e175c5e739c"}, "name": "Jerry", "age": 28}
{"_id": {"$oid": "66d7decaf5f38e175c5e739d"}, "name": "Tom", "age": 37}
{"_id": {"$oid": "66d7df39f5f38e175c5e739e"}, "name": "Cindy", "age": 43}
{"_id": {"$oid": "66d7df39f5f38e175c5e739f"}, "name": "Linda", "age": 21}
{"_id": {"$oid": "66d7df39f5f38e175c5e73a0"}, "name": "Jessca", "age": 34}
{"_id": {"$oid": "66d7de35f5f38e175c5e739d"}, "name": "Jerry", "age": 24}    
{"_id": {"$oid": "66d9583818f1fa75230235a8"}, "name": "Jhon", "age": 40}
修改Jhon,添加年龄
{"_id": {"$oid": "66d7de35f5f38e175c5e739c"}, "name": "Jerry", "age": 28}
{"_id": {"$oid": "66d7decaf5f38e175c5e739d"}, "name": "Tom", "age": 37}
{"_id": {"$oid": "66d7df39f5f38e175c5e739e"}, "name": "Cindy", "age": 43}
{"_id": {"$oid": "66d7df39f5f38e175c5e739f"}, "name": "Linda", "age": 21}
{"_id": {"$oid": "66d7df39f5f38e175c5e73a0"}, "name": "Jessca", "age": 34}
{"_id": {"$oid": "66d7de35f5f38e175c5e739d"}, "name": "Jerry", "age": 24}
{"_id": {"$oid": "66d9583818f1fa75230235a8"}, "name": "Jhon", "age": 19}
删除一条Jhon
{"_id": {"$oid": "66d7de35f5f38e175c5e739c"}, "name": "Jerry", "age": 28}
{"_id": {"$oid": "66d7decaf5f38e175c5e739d"}, "name": "Tom", "age": 37}    
{"_id": {"$oid": "66d7df39f5f38e175c5e739e"}, "name": "Cindy", "age": 43}
{"_id": {"$oid": "66d7df39f5f38e175c5e739f"}, "name": "Linda", "age": 21}
{"_id": {"$oid": "66d7df39f5f38e175c5e73a0"}, "name": "Jessca", "age": 34}
{"_id": {"$oid": "66d7de35f5f38e175c5e739d"}, "name": "Jerry", "age": 24}

2.Python访问MongoDB

代码语言:javascript

复制

pip install pymongo

代码

代码语言:javascript

复制

from pymongo import MongoClient
 
# 连接到MongoDB实例
client = MongoClient('mongodb://192.168.31.184:27017/')
 
# 选择数据库
db = client['admin']
 
# 选择集合(类似于SQL中的表)
collection = db['person']
     
# 插入文档(类似于SQL中的记录)
#collection.insert_one({'name': 'Alice', 'age': 25})
 
# 查询文档
result = collection.find_one({'name': 'Jerry'})
print(result)
相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。 &nbsp; 相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
2月前
|
JavaScript 前端开发 Java
通义灵码 Rules 库合集来了,覆盖Java、TypeScript、Python、Go、JavaScript 等
通义灵码新上的外挂 Project Rules 获得了开发者的一致好评:最小成本适配我的开发风格、相当把团队经验沉淀下来,是个很好功能……
858 103
|
3月前
|
Java API Docker
在线编程实现!如何在Java后端通过DockerClient操作Docker生成python环境
以上内容是一个简单的实现在Java后端中通过DockerClient操作Docker生成python环境并执行代码,最后销毁的案例全过程,也是实现一个简单的在线编程后端API的完整流程,你可以在此基础上添加额外的辅助功能,比如上传文件、编辑文件、查阅文件、自定义安装等功能。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
在线编程实现!如何在Java后端通过DockerClient操作Docker生成python环境
|
3月前
|
存储 算法 安全
Java对象创建和访问
Java对象创建过程包括类加载检查、内存分配(指针碰撞或空闲列表)、内存初始化、对象头设置及初始化方法执行。访问方式有句柄和直接指针两种,前者稳定但需额外定位,后者速度快。对象创建涉及并发安全、垃圾回收等机制。
Java对象创建和访问
|
5月前
|
NoSQL JavaScript 前端开发
Java访问MongoDB
Java访问MongoDB
60 21
|
5月前
|
SQL NoSQL Java
Java使用sql查询mongodb
通过MongoDB Atlas Data Lake或Apache Drill,可以在Java中使用SQL语法查询MongoDB数据。这两种方法都需要适当的配置和依赖库的支持。希望本文提供的示例和说明能够帮助开发者实现这一目标。
109 17
|
5月前
|
SQL Java 数据库连接
【潜意识Java】深入理解MyBatis的Mapper层,以及让数据访问更高效的详细分析
深入理解MyBatis的Mapper层,以及让数据访问更高效的详细分析
550 1
|
6月前
|
SQL NoSQL Java
Java使用sql查询mongodb
通过使用 MongoDB Connector for BI 和 JDBC,开发者可以在 Java 中使用 SQL 语法查询 MongoDB 数据库。这种方法对于熟悉 SQL 的团队非常有帮助,能够快速实现对 MongoDB 数据的操作。同时,也需要注意到这种方法的性能和功能限制,根据具体应用场景进行选择和优化。
262 9
|
Java Python 数据挖掘
Java之调用Python代码
  对于一个数据分析方面的工作者来说,最熟悉的语言无疑就是Python了。对于软件开发者而言,Java又是极其重要的工具。那么,一个很自然的问题就是,我们能够在Java中调用Python代码吗?   想要在Java中调用Python代码,有以下两个办法: 直接通过Runtime进行调用 调用Jython 在Java中如果需要调用第三方程序,可以直接通过Runtime实现,这也是最直接最粗暴的做法,粒度更加粗糙,效率较高,需要安装Python软件。
2825 0
|
NoSQL Java Redis
java调用python代码
同样的我们需要安装jython,具体的步骤如下: 1. 去 http://sourceforge.net/projects/jython/ 下载最新的jython相关的jar包。 2. 下载下来的jar包其实既是使用的时候需要引入的jar包,也是安装就jython的jar包。
1043 0

热门文章

最新文章

下一篇
oss创建bucket