MongoDB中存储的ObjectId的数组(MongoDB storing arrays of O

2019-07-31 15:54发布

在我的数据库我必须存储对象ID数组。 我应该怎么使用? 事情是这样的:

[ObjectId("50350e12a36feb1be6000364"), ObjectId("57350e12a37fef1be6000922"), ObjectId("10350e17d34ffb1be6200925")]

或者是这样的:

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

我可以节省空间与第二,然后投给ObjectId ,但我失去我用这个方法什么? 这样做ObjectId小号的行为很像关系数据库中的外键?

Answer 1:

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

此外,如果ObjectId s的用后获取的对象,存储为ObjectId节省了一些麻烦。



Answer 2:

除非你有一个很好的理由,否则它们存储为的ObjectID的数组。 这是更紧凑(12个字节主场迎战24),它更准确地反映存储的内容。 它也可以启用以下的ObjectId引用驱动级的支持。



文章来源: MongoDB storing arrays of ObjectId's