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
目录
相关文章
|
13天前
|
存储 Java 关系型数据库
java: 无法访问org.springframework.context.ConfigurableApplicationContext
`亲测可用,之前搜索了很多博客,啥样的都有,就是不介绍报错以及配置用处,根本不懂照抄那些配置是干啥的,稀里糊涂的按照博客搭完也跑不起来,因此记录这个。` `项目背景`:公司项目当前采用http协议+shiro+mysql的登录认证方式,而现在想支持ldap协议认证登录然后能够访问自己公司的项目网站。 `举例说明`:假设我们公司有自己的门户网站,现在我们收购了一家公司,他们数据库采用ldap存储用户数据,那么为了他们账户能登陆我们公司项目所以需要集成,而不是再把他们的账户重新在mysql再创建一遍,万一人家有1W个账户呢,不累死了且也不现实啊。
30 11
|
12天前
|
安全 Java 编译器
java访问字段
java访问字段
20 6
|
12天前
|
NoSQL MongoDB 数据库
python3操作MongoDB的crud以及聚合案例,代码可直接运行(python经典编程案例)
这篇文章提供了使用Python操作MongoDB数据库进行CRUD(创建、读取、更新、删除)操作的详细代码示例,以及如何执行聚合查询的案例。
22 6
|
9天前
|
安全 Java 编译器
java访问类字段
java访问类字段
|
10天前
|
Java Linux Python
Linux环境下 代码java调用python出错
Linux环境下 代码java调用python出错
25 3
|
9天前
|
安全 Java 开发者
Java修饰符与封装:理解访问权限、行为控制与数据隐藏的重要性
Java中的修饰符和封装概念是构建健壯、易维护和扩展的Java应用程序的基石。通过合理利用访问权限修饰符和非访问修饰符,开发者能够设计出更加安全、灵活且高效的代码结构。封装不仅是面向对象编程的核心原则之一,也是提高软件项目质量和可维护性的关键策略。
12 1
|
13天前
|
存储 Java 关系型数据库
java: 无法访问org.springframework.ldap.core.LdapTemplate
`亲测可用,之前搜索了很多博客,啥样的都有,就是不介绍报错以及配置用处,根本不懂照抄那些配置是干啥的,稀里糊涂的按照博客搭完也跑不起来,因此记录这个。` `项目背景`:公司项目当前采用http协议+shiro+mysql的登录认证方式,而现在想支持ldap协议认证登录然后能够访问自己公司的项目网站。 `举例说明`:假设我们公司有自己的门户网站,现在我们收购了一家公司,他们数据库采用ldap存储用户数据,那么为了他们账户能登陆我们公司项目所以需要集成,而不是再把他们的账户重新在mysql再创建一遍,万一人家有1W个账户呢,不累死了且也不现实啊。
12 1
|
23天前
|
SQL JavaScript 前端开发
基于Java访问Hive的JUnit5测试代码实现
根据《用Java、Python来开发Hive应用》一文,建立了使用Java、来开发Hive应用的方法,产生的代码如下
49 6
WK
|
10天前
|
存储 安全 索引
如何在Python中访问字典中的值
在Python中,访问字典(Dictionary)中的值非常简单。字典是一种无序的集合,它存储了键值对(key-value pairs),其中每个键都是唯一的,并映射到一个值上。要访问字典中的值,你需要使用键作为索引。
WK
10 0
|
Java Python 数据挖掘
Java之调用Python代码
  对于一个数据分析方面的工作者来说,最熟悉的语言无疑就是Python了。对于软件开发者而言,Java又是极其重要的工具。那么,一个很自然的问题就是,我们能够在Java中调用Python代码吗?   想要在Java中调用Python代码,有以下两个办法: 直接通过Runtime进行调用 调用Jython 在Java中如果需要调用第三方程序,可以直接通过Runtime实现,这也是最直接最粗暴的做法,粒度更加粗糙,效率较高,需要安装Python软件。
2768 0
下一篇
无影云桌面