Java 数据如何存储在MongoDB表中?

Java 数据如何存储在MongoDB表中?,java,mongodb,Java,Mongodb,我正在通过将Mongodb与Java应用程序集成来学习它。到目前为止,我已经将我的MongoDB配置为Windows服务,在Windows启动时运行,并且我能够成功地从与Java应用程序集成的MongoDB连接、插入和查找数据。我知道每个数据在MongoDb中都存储为Key:Document对,并在没有任何预定义模式定义的情况下进行水平缩放。但是我仍然不清楚我的以下疑问:- 1) 当我们说每个数据都存储为key:document对时,这里的术语“key”是什么意思?是我在数据中输入的主要值,还是

我正在通过将Mongodb与Java应用程序集成来学习它。到目前为止,我已经将我的MongoDB配置为Windows服务,在Windows启动时运行,并且我能够成功地从与Java应用程序集成的MongoDB连接、插入和查找数据。我知道每个数据在MongoDb中都存储为Key:Document对,并在没有任何预定义模式定义的情况下进行水平缩放。但是我仍然不清楚我的以下疑问:-

1) 当我们说每个数据都存储为key:document对时,这里的术语“key”是什么意思?是我在数据中输入的主要值,还是这个“键”表示某个唯一的记录id(包含RDBMS中的随机数)。例如:

DBCollection table = db.getCollection("employee");
        BasicDBObject document = document = new BasicDBObject();
        document.put("EmpId", "1001");
        document.put("Name", "Vijay Kumar");
        document.put("Gender", "Male");
        table.insert(document);
这里,如果我没有错,那么EmpId不是这里的关键,对吗?键将是MongoDB表中名为“employee”的数据的唯一id,如“57cd9d404a85c209a42ed747”。请确认

2) 当我们说每个数据都存储为文档时,那么它到底意味着什么?它看起来是什么样子,是结构化的还是非结构化的?难道我们不能使用SQLDeveloper或Toad之类的客户端来查看存储的文档吗


3) 最后,MongoDB创建了一个唯一的id来引用表中的特定文档,该id可以更快地存储和检索大量数据

对于1:

这里您要说的关键是一个参考变量,用于选择 无论何时调用数据。所以我们说
键值对
。所以
EmpId
是 键和
1001
是值。或者您可以将密钥视为名称 表中的列,并将
1001
作为字段

对于2:

文档是键值对的集合。例如:

这可以看作是一份文件

对于3:

要存储大量数据,您需要以数组形式存储文档。 例如,您可以使用
JSONArray对象

对于EAX示例:

[
    {
        "EmpId", "1001",
        "Name", "Vijay Kumar"
    },
    {
        "EmpId", "1002",
        "Name", "Emil John"
    }
]

MongoDB创建一个唯一的id来引用表中的特定文档

对于1:

这里您要说的关键是一个参考变量,用于选择 无论何时调用数据。所以我们说
键值对
。所以
EmpId
是 键和
1001
是值。或者您可以将密钥视为名称 表中的列,并将
1001
作为字段

对于2:

文档是键值对的集合。例如:

这可以看作是一份文件

对于3:

要存储大量数据,您需要以数组形式存储文档。 例如,您可以使用
JSONArray对象

对于EAX示例:

[
    {
        "EmpId", "1001",
        "Name", "Vijay Kumar"
    },
    {
        "EmpId", "1002",
        "Name", "Emil John"
    }
]

通常,数据以二进制JSON的形式存储在Mongodb中,并为插入的每个文档创建一个唯一的id(默认名称_id)。现在,当将它与传统的RDBMS进行比较时,将KEY作为列和值作为其数据。因此,每个文档实际上意味着关系数据库的一个特定行,而集合意味着一个表

MongoDB的工具很少。我特别使用MongoChef


Mongodb设计用于处理海量数据,因此在检索和存储数据时比传统的RDBMS更快。

通常,数据以二进制JSON的形式存储在Mongodb中,并为插入的每个文档创建一个唯一的id(默认名称_id)。现在,当将它与传统的RDBMS进行比较时,将KEY作为列和值作为其数据。因此,每个文档实际上意味着关系数据库的一个特定行,而集合意味着一个表

MongoDB的工具很少。我特别使用MongoChef


Mongodb设计用于处理海量数据,因此在检索和存储数据时比传统的RDBMS更快。

Mongo将为您创建一个唯一的id字段,数据存储为二进制JSON(BSON)。请注意:如果您刚开始使用Mongodb,我假设您使用的是当前版本。如果是这种情况,请搜索当前教程,该教程不再使用旧API。从3.2开始,您应该以使用MongoClient/MongoDatabase/MongoCollection/org.bson.Document为目标。一个很好的起点是:Mongo将为您创建一个唯一的id字段,数据存储为二进制JSON(BSON)。如果是这种情况,请搜索当前教程,该教程不再使用旧API。从3.2开始,您应该以使用MongoClient/MongoDatabase/MongoCollection/org.bson.Document为目标。一个好的起点是: