将任何键中的 mongodb ID 保存为字符串与保存为 ObjectId



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

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

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

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

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

最新更新