mongodb - MongoDB 中的文档是什么?

标签 mongodb

我现在已经阅读了很多文档(并且还发现了问题 here ,但仍然不清楚什么是文档。

举个例子:

"users": [
    {
        name: { first: "Alan", last: "Turing" },
        contact: { phone: { type: "cell", number: "111-222-3333" } }
    },
    {
        name: { first: "John", last: "Doe" },
        contact: { phone: { type: "cell", number: "111-222-3333" } }
    }
]

我目前的假设是

{
    name: { first: "Alan", last: "Turing" },
    contact: { phone: { type: "cell", number: "111-222-3333" } }
}

是一个文档。因此 16MB 的限制适用于整个数组元素。因此,此文档中的任何内容(如电话和姓名)都只是嵌入文档,因此它们本身没有 16MB 的限制。

这是正确的吗?

最佳答案

每个文档都有 16 MB 的大小限制,基本上文档是每个数据集/包裹在“{}”中的记录,并且是集合(不是嵌套/嵌入文档)的直接子项是单个文档,每个这样的文档都有 16 MB 的大小限制,因为它被加载到内存中以作为单个完整记录(如关系数据库中的行)读取/写入数据

Mongo DB 对其文档大小有最大 16 MB 的限制,因此它不应该在 RAM 中占用更多内存来以 BSON 格式表示以实现高效的内存管理

关于mongodb - MongoDB 中的文档是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54419964/

相关文章:

python - 使用 pymongo 对同一索引执行多个正则表达式匹配

arrays - 从 mongodb 中删除重复的数组值

java - Java ORM for MongoDB 的开销是多少

java - Mongodb聚合命令转java代码

java - MongoDB:注册编解码器 (Java)

Mongodb 针对数组元素聚合 ifNull

python - pymongo.find() 超时但使用与集合相同体积的限制

mongodb - 多进程的 Upsert 重复键错误(Mongo>=3.0.4 WiredTiger)

node.js - Mongoose 模式中的嵌套对象

java - 删除 MongoDB 集合中 10% 的旧对象