`
裴小星
  • 浏览: 264975 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
8ccf5db2-0d60-335f-a337-3c30d2feabdb
Java NIO翻译
浏览量:27803
F3e939f0-dc16-3d6e-8c0b-3315c810fb91
PureJS开发过程详解
浏览量:74003
07a6d496-dc19-3c71-92cf-92edb5203cef
MongoDB Java ...
浏览量:62893
社区版块
存档分类
最新评论

MongoDB Java Driver 源码分析(10):com.mongodb 总结

阅读更多
  com.mongodb 是 MongoDB Driver 核心类所在的包。其中 Mongo 类是整个 Driver 的入口点。

  下面列出之前对这个包中的几个主要类的介绍:

  Mongo 表示一个数据库实例,可能包含多个 Server 。
  http://xxing22657-yahoo-com-cn.iteye.com/blog/1236186

  DB 表示一个数据库连接。
  http://xxing22657-yahoo-com-cn.iteye.com/blog/1291183

  DBApiLayer 继承 DB 类。DB 操作的底层实现,通过 Mongo 对象间接调用。
  http://xxing22657-yahoo-com-cn.iteye.com/blog/1418647

  DBTCPConnector 表示 TCP 数据连接的类。
  http://xxing22657-yahoo-com-cn.iteye.com/blog/1416331

  ReplicaSetStatus 表示集群状态的类。
  http://xxing22657-yahoo-com-cn.iteye.com/blog/1424055

  DBCollection 表示数据集合的抽象类。
  http://xxing22657-yahoo-com-cn.iteye.com/blog/1255181

  DBPort 表示数据连接端口,维护一个 Socket。
  http://xxing22657-yahoo-com-cn.iteye.com/blog/1424140

  DBCursor 用于遍历 find() 等查询操作的返回结果。
  http://xxing22657-yahoo-com-cn.iteye.com/blog/1269739

几个类之间的主要关系

  com.mongodb 包中的几个类之间的主要关系如下图所示:

  

  Mongo 对其他类的依赖:
  DB 和 DBApiLayer:getDB 的返回值类型是 DB,但返回的实际上是 DBApiLayer 类的实例
  DBTCPConnector:getConnector 返回的是 DBTCPConnector 类的实例
  ReplicaSetStatus:getReplicaSetStatus 返回的是 ReplicaSetStatus 类的实例

  DB 对其他类的依赖:
  DBCollection:createCollection 等方法返回的是 DBCollection 类的实例

  DBApiLayer 对其他类的依赖:
  DB:DBApiLayer 继承了 DB 类
  DBCollection:DBApiLayer.MyCollection 继承了 DBCollection

  DBTCPConnector 对其他类的依赖:
  DBPort:say,call 等方法中调用了 DBPort 的 say,call 等方法

  ReplicaSetStatus 对其他类的依赖:
  DBPort:内部类 Node 的 update 方法调用了 DBPort 的 runCommand 方法

  DBCollection 对其他类的依赖:
  DBCursor:find 方法构造并返回 DBCursor 类的实例

com.mongodb.gridfs 对 com.mongodb 的依赖

  com.mongodb.gridfs 对 com.mongodb 的依赖主要表现为 GridFS、GridFSDBFile、GridFSInputFile  对 DB、DBCollection、DBCursor 的依赖。

  其中:

  GridFS 的 getDB 方法的返回值类型是 DB
  GridFS 的 getFileList 方法的返回值类型是 DBCursor

  GridFS 和 GridFSDBFile 的 find、remove 等方法调用了 DBCollection 的 find、remove 等相应的方法。
  GridFSInput 的 _dumpBuffer 方法调用了 DBCollection 的 save 方法
2
0
分享到:
评论

相关推荐

    MongoDB Java Driver 源码分析(1):Package 概述

    本篇文章将聚焦于MongoDB Java Driver的源码分析,首先从Package概述的角度进行深入探讨。 MongoDB Java Driver的源码主要分为以下几个核心包: 1. **com.mongodb**: 这是最顶层的包,包含了驱动的核心组件。`...

    mongodb driver for java 源码

    源码分析将帮助我们深入理解其内部工作原理,优化应用性能,并有可能自定义功能以满足特定需求。以下是对MongoDB Java驱动2.5.3版本源码的一些关键知识点的详细解释: 1. **连接管理**: - `MongoClient`类是与...

    mongodb驱动源码

    MongoDB驱动源码分析 MongoDB是一个流行的开源、高性能、无模式的文档型数据库,广泛应用于Web开发、数据分析和大数据处理等领域。Java驱动是连接Java应用程序与MongoDB服务器的重要桥梁,它提供了丰富的API来执行...

    mongodb driver 集成mongo和mongodb扩展 log.php 发送日志类

    MongoDB Driver是PHP中用于与MongoDB数据库交互的官方扩展,它提供了丰富的API来执行查询、插入、更新和删除操作。MongoDB是一个流行的NoSQL数据库系统,以文档型数据模型为特点,适合处理大规模数据。集成MongoDB ...

    MongoDB(4) java api

    在Java开发中,MongoDB提供了Java驱动程序,使得开发者能够方便地通过Java API来操作MongoDB数据库。这篇博客将深入探讨在Java中使用MongoDB API的主要概念和操作。 首先,我们需要在项目中引入MongoDB Java驱动...

    spring-mongodb整合源码 注释

    在本文中,我们将深入探讨如何将Spring框架与MongoDB...通过源码分析和注释,我们可以更深入地理解其内部机制,从而更好地利用这个强大的工具。如果你在实际项目中遇到问题,这份源码注释将会成为宝贵的参考资料。

    java+mongodb+分页

    本篇文章将深入探讨如何使用Java与MongoDB进行数据分页查询,结合源码分析工具,帮助开发者更好地理解和应用这一技术。 首先,我们要了解的是MongoDB的基本概念。MongoDB是一个基于分布式文件存储的数据库,支持...

    MongoDB 3.0 速上手教程(JAVA)

    MongoDB 是一个高性能、开源、无模式的分布式文档数据库,被广泛用于开发现代应用程序,尤其适合处理大量数据的Web应用、内容管理系统、日志管理和实时分析等场景。本教程主要针对MongoDB 3.0版本,结合Java进行实战...

    mongodb连接java

    import com.mongodb.client.MongoServerAddress; MongoClient mongoClient = MongoClients.create("mongodb://localhost:27017"); ``` 在连接建立后,我们可以获取MongoDatabase实例,它是MongoDB数据库的代表。...

    MongoDB简单应用

    对于开发者来说,MongoDB还提供了丰富的编程语言驱动,如Python的PyMongo、Java的MongoDB Java Driver等,方便在各种应用中集成数据库操作。 在"工具"这个标签下,我们可能讨论到MongoDB的管理工具,如MongoDB ...

    MangoDB的概要介绍与分析

    ### MangoDB的概要介绍与分析 #### 一、MongoDB概述 MongoDB是一个非常流行的开源非关系型数据库(NoSQL)。它通过采用基于分布式文件存储的方式,为开发者提供了高度可扩展性、灵活性以及高性能等特点。这些特性...

    MongoDB

    源码分析是深入理解MongoDB工作原理的重要途径。MongoDB的源代码是用C++编写的,通过阅读源码,开发者可以学习到如何设计和实现一个分布式数据库系统,包括索引构建、查询优化、复制集协议以及分布式事务等复杂功能...

    mongo-master.zip

    MongoDB的源码分析可以提供深入理解其内部工作原理的机会,这对于数据库管理员、软件开发者或对分布式系统感兴趣的任何人都极具价值。以下是一些关键的知识点: 1. **数据模型**:MongoDB采用文档型数据模型,以...

    mogodb-3.0.2 jar包及源码

    1. `mongo-java-driver-3.0.2.jar`: 这是MongoDB Java驱动程序的二进制库文件,包含了编译好的Java类,使得Java开发者能够通过API连接到MongoDB服务器,执行CRUD操作(创建、读取、更新和删除)以及其他数据库操作。...

    mongo-connector-2.11-2.3.0

    2. **mongo-java-driver-3.8.0.jar**:MongoDB的Java驱动程序,负责提供与MongoDB服务器通信的API。这个版本3.8.0使得Mongo-Connector可以顺利地通过Java驱动与MongoDB实例交互,执行读写操作。 3. **mongo-spark-...

    连接各种数据库的sql语句

    例如,连接MongoDB可以使用Java的MongoDB驱动: ```java MongoClientURI uri = new MongoClientURI( "mongodb://localhost:27017/mydb"); MongoClient mongoClient = new MongoClient(uri); DB db = ...

    数据库创建

    在IT行业中,数据库是存储和管理数据的核心工具,它使得数据的组织、检索和更新变得更加高效。...理解这些基础知识对于任何IT专业人员来说都是至关重要的,无论是进行数据存储、数据分析还是构建复杂的业务系统。

Global site tag (gtag.js) - Google Analytics