gpt4 book ai didi

mongodb - 子文档数组的 Mongo _id

转载 作者:行者123 更新时间:2023-12-02 01:25:52 27 4
gpt4 key购买 nike

我希望添加 _id 作为 mongo 数组中对象的属性。

这是好的做法吗?索引有什么问题吗?

最佳答案

I wish to add an _id as property for objects in a mongo array.

我假设:

{
g: [
{ _id: ObjectId(), property: '' },
// next
]
}

此问题的结构类型。

Is this good practice ?

通常不会。 _id 是实体的唯一标识符。因此,如果您希望在子文档对象中添加 _id ,那么您可能没有很好地标准化数据,这可能是架构设计中存在根本缺陷的迹象。

子文档旨在包含该文档的重复数据,即地址或用户或其他内容。

话虽如此,添加_id并不总是一件坏事。以我刚才提到的地址为例。想象一下,您有一个购物车系统,并且(由于某种原因)您没有将地址复制到订单文档,那么您将使用 _id 或其他标识符来获取该子文档.

您还必须考虑链接文档。如果该 _id 描述另一个文档,并且属性是该文档相对于该链接文档的自定义属性,那么也没关系。

Are there any problems with indexing ?

ObjectId 仍然相当大,因此与较小、不太唯一的 id 或根本不使用 _id 的子文档相比,需要考虑这一点。

对于索引,它的工作原理与文档本身的标准 _id 字段没有任何不同,并且跨字段的唯一索引应该在整个集合中工作(取决于场景,测试您的查询)。

注意:MongoDB 不会为您添加 _id 到子文档。

关于mongodb - 子文档数组的 Mongo _id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13472589/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com