MongoDB
我知道,如果您有一个子文档数组,并且对这些子文档中的某些字段建立了索引,则只能确保该字段在整个集合中是唯一的,而不是在单个数组中。
这些子文档的_id属性是否同样适用? 例如,如果我有以下内容
{
_id: 'Parent ID',
subdocArray: [
{
_id: 'Child ID 1'
}
]
}
我决定将另一个子文档添加到数组中,可以确保_id字段的唯一性与在常规顶级文档中相同。
答案 0 :(得分:1)
否,_id
在MongoDB子文档数组中没有特殊含义。
但是,按照要求here,您可以在向数组添加元素时手动执行此所需的限制。
db.coll.update(
{_id: 'Parent ID', 'subdocArray._id': {$ne: 'Child ID 1'}},
{$push: {subdocArray: {_id: 'Child ID 1'}}})