【发布时间】:2015-09-12 03:59:18
【问题描述】:
我遇到了 mongo 的一个奇怪行为,我想澄清一下。我实际上想知道一个文档只有一个布尔属性时消耗了多少字节。
使用Stackoverflow,我发现我可以使用以下命令
Object.bsonsize - 一些应该返回字节大小的 JavaScript 方法
在执行这些命令时,我得到了一些令人困惑的结果。
这里我提供了我合并的步骤
-
我创建了一个名为 mydatabase 的数据库并存储了一个名为 datarandom 的集合,该集合有一个名为 status 的属性,我已将其设置为 false。它被分配了一个 Object Id=558bf45d5ea9019aec35d7a2。我在 RoboMongo 中运行了以下查询
Object.bsonsize(db.datarandom.find( {"_id" :ObjectId("558bf45d5ea9019aec35d7a2")}));我得到了 100 个字节。
-
我在 RoboMongo 上运行了第二个查询,如下所示
Object.bsonsize(db.datarandom.findOne( {"_id" :ObjectId("558bf45d5ea9019aec35d7a2")}));我得到的输出只有 31 个字节!!!!!!
有人可以解释为什么我在使用 Find 和 FindOne 时得到两个不同的输出,而我的 Collection 中只有一个 Document 并且只有布尔值作为属性。
【问题讨论】:
-
Object.bsonsize(db.datarandom.find( {"_id" :ObjectId("558bf45d5ea9019aec35d7a2")})).. - 给出光标的大小。 | Object.bsonsize(db.datarandom.findOne( {"_id" :ObjectId("558bf45d5ea9019aec35d7a2")}))... - 给出文档的大小
标签: mongodb