Sam*_*aye 19
我希望为mongo数组中的对象添加一个_id作为属性.
我假设:
{
g: [
{ _id: ObjectId(), property: '' },
// next
]
}
Run Code Online (Sandbox Code Playgroud)
此问题的结构类型.
这是好习惯吗?
不正常._ids是实体的唯一标识符.因此,如果您要_id在子文档对象中添加,那么您可能没有很好地规范化您的数据,这可能是您的架构设计中存在根本缺陷的迹象.
子文档旨在包含该文档的重复数据,即地址或用户或其他内容.
要说的_id并不总是坏事.以我刚才用地址说的例子为例.想象一下,你有一个购物车系统和(由于某种原因)你没有将地址复制到订单文档,然后你会使用一个_id或一些其他标识符来获取该子文档.
您还必须考虑链接文档.如果它_id描述了另一个文档,并且属性是与该链接文档相关的该文档的自定义属性,那么这也没关系.
索引有问题吗?
A ObjectId仍然相当大,因此需要考虑较小的,不太独特的ID或者根本不使用_id子文档.
对于索引,它_id与文档本身的标准字段实际上没有任何不同,并且整个字段中的唯一索引应该在整个集合中起作用(依赖于场景,测试查询).
注意:MongoDB不会_id为您添加子文档.
| 归档时间: |
|
| 查看次数: |
9304 次 |
| 最近记录: |