MongoDB存储ObjectId';s

MongoDB存储ObjectId';s,mongodb,foreign-keys,objectid,Mongodb,Foreign Keys,Objectid,在我的数据库中,我必须存储一个对象ID数组。我应该用什么?大概是这样的: [ObjectId("50350e12a36feb1be6000364"), ObjectId("57350e12a37fef1be6000922"), ObjectId("10350e17d34ffb1be6200925")] 或者像这样: ["50350e12a36feb1be6000364", "57350e12a37fef1be6000922", "10350e17d34ffb1be6200925"] 我可以使

在我的数据库中,我必须存储一个对象ID数组。我应该用什么?大概是这样的:

[ObjectId("50350e12a36feb1be6000364"), ObjectId("57350e12a37fef1be6000922"), ObjectId("10350e17d34ffb1be6200925")]
或者像这样:

["50350e12a36feb1be6000364", "57350e12a37fef1be6000922", "10350e17d34ffb1be6200925"]

我可以使用第二种方法节省空间,然后转换为
ObjectId
,但是使用这种方法会失去任何东西吗?
ObjectId
s的行为是否像关系数据库中的外键一样?

除非您有充分的理由不这样做,否则将它们存储为ObjectId数组。它更紧凑(12字节比24字节),并且更准确地反映了存储的内容。它还可以为以下ObjectId引用启用驱动程序级支持。

我肯定会采用第一种方法,直接存储ObjectId。这节省了空间,而第二个方法字符串是24字节


另外,如果以后使用
ObjectId
s来获取对象,则将其存储为
ObjectId
可以节省一些麻烦。

+1,是的,我认为问题中对ObjectId的大小有一个基本的误解。