将mongodb Id保存在任何键中作为字符串vs保存为ObjectId

时间:2014-02-13 15:28:22

标签: mongodb

如果我将任何现有的mongoId保存为任何其他文档密钥中的字符串,我想知道是否有任何性能增益或损失。例如,我有两个集合ans我正在保存一个集合文档Id,即_id是另一个文档密钥作为字符串。我不会将它用作ref,但它是用于查看目的,稍后我可以使用它来从另一个集合中获取信息。例 一个医生

         {_id : ObjectId() , Name : "Test"} // This is one document

另一个集合中的第二个文档

        {_id : ObjectId , Detail : { AID : ObjectIdASString } } // ObjectIdAsString is Id from first document

1 个答案:

答案 0 :(得分:1)

我会将其存储为ObjectIdObjectIds需要更少的磁盘空间。另外,基于ObjectId而不是字符串对集合进行排序会更容易,更有效。但是,没有什么可怕的,您可以使用ObjectIdtoString()方法轻松地将valueOf()转换为字符串,反之亦然。