我想知道如果我将任何现有的mongoId保存为任何其他文档键中的字符串,是否有任何性能收益或损失。例如,我有两个集合,我正在保存一个集合文档 ID,即_id到另一个文档键作为字符串。我不打算将其用作 ref,但它用于查看目的,稍后我可以使用它从另一个集合中获取信息。例一个文档
{_id : ObjectId() , Name : "Test"} // This is one document
另一个集合中的第二个文档
{_id : ObjectId , Detail : { AID : ObjectIdASString } } // ObjectIdAsString is Id from first document
我会将其存储为ObjectId
,ObjectIds
磁盘上需要更少的空间。此外,根据ObjectId
而不是字符串对集合进行排序会更容易、更高效。但是,没有什么可怕的,您可以分别使用 toString()
和 valueOf()
方法轻松地将ObjectId
转换为字符串,反之亦然。