当前位置: 首页 > 知识库问答 >
问题:

mongo驱动api中使用的Document、BasicDBObject和BsonDocument之间的实际区别是什么

梁丘琛
2023-03-14

有谁能帮我理解

>

  • 文档

    基本目标

    BSON文档

    基本列表

    在mongo驱动程序API中使用。

    我参考的是以下文档http://mongodb.github.io/mongo-java-driver/3.2/driver/reference/crud/how ever不能真正理解在哪些场景中必须使用它们。有什么建议吗?

  • 共有1个答案

    微生俊健
    2023-03-14

    有点晚,但是,正如这里提到的-https://jira.mongodb.org/browse/java-2708

    BSON规范支持各种BSON类型。types包包含实现用于Java的各种BSON类型的类。这些是没有Java等价的类型(例如MaxKey)。

    如果使用org.BSON.document类型表示BSON文档,那么_id字段通常包含一个org.BSON.types.objectid值。Document类本质上是一个映射,值可以是任何类型的。当将它们编码为BSON时,必须将值映射到BSON类型(这是通过Codecs和CodecRegistry完成的)。

    一些用户想要一个类型安全的BSON文档实现,这就是BsonDocument的用处,因为它本质上是一个映射。只有BsonValue类的实现才能存储在BsonDocument中,从而使其类型安全且完整。大多数用户会更喜欢文档或POJO,因为它们更容易使用。

     类似资料:
    • 我正在研究我们公司开发的一个应用程序。它使用Apache HttpClient库。在源代码中,它使用类来创建连接到服务器的实例。 我想了解ApacheHttpClient,我已经详细介绍了这组示例。所有示例都使用而不是。因此我认为是的扩展版本。如果是这种情况,我有两个问题: 这两者有什么区别? 我的新开发建议使用哪个类?

    • 问题内容: 我想知道如何评估一种工具而不是另一种。 我的主要关注如下: 在Google数据存储区中,我们定义了“种类”。每个“实体”都有“属性”。 然后,数据存储后端使用这些属性为数据编制索引,以供将来查询。查询本身使用SQL中几乎相同的思想(尽管语法不同)来过滤数据并找到我们想要的东西。 如果您为每个属性建立索引,则索引元数据将甚至大于真实数据。 Google bigquery使用它的SQL方言

    • 我很难理解这两种方法之间的区别 public int getConnectionsPerHost()此MongoClient实例每个主机允许的最大连接数。空闲时,这些连接将保留在池中。一旦池耗尽,任何需要连接的操作都将阻止等待可用连接。 默认值为100。 返回:每个主机连接池的最大大小 http://api.mongodb.com/java/current/com/mongodb/MongoCli

    • 在Java 7之前,JVM内存中有一个名为PermGen的区域,JVM以前在这里保存它的类。在Java 8中,它被移除并被称为元空间的区域所取代。 PermGen和Metaspace之间最重要的区别是什么? 我知道的唯一区别是,并且忽略了VM参数。

    • 和之间有什么区别? 是什么原因导致他们被扔?如何解决这些问题? 在修改现有代码以包含新的jar文件时,我经常会遇到这些可抛物。我在通过WebStart发布的一个Java应用程序的客户端和服务器端都碰到了它们。 我遇到的可能原因是: 代码客户端的中未包含的包 我们正在使用的新JAR缺少运行时类路径 版本与以前的JAR冲突 当我今天遇到这些问题时,我会采取跟踪和错误的方法来使事情正常工作。我需要更多的

    • 当我试图在Spring4.x上进行测试时,我使用了MockMvc web客户端,但我正在阅读和尝试Spring5.x的新特性。 我认为,WebTestClient和MockMvc是相同或非常相似的。 MockMvc和WebTestClient之间的区别是什么?