我有一个表Person
和Property
。每个人都有自己的id
。此外,属性拥有其所有者,因此有一个字段person_id
“指向”id
表中的Person
。
这是三个人有一些事情的例子。出于某种原因,id=3
的人被删除了。但是,他/她仍拥有id in [4,5,6]
的属性。
Person (1k documents)
=====================
{id: 1, name: John, age: 25}
{id: 2, name: Peter, age: 28, pet: cat}
{id: 4, name: Alice}
...
Property (120k documents)
=========================
{id: 1, person_id: 1, name: house}
{id: 2, person_id: 1, name: car, color: blue}
{id: 3, person_id: 2, name: phone}
{id: 4, person_id: 3, name: house}
{id: 5, person_id: 3, name: watch, size: big}
{id: 6, person_id: 3, name: table: material: wood}
...
问题是“如何删除不再拥有他们所属的现有人的属性文档?”,即在这种情况下“如何删除id in [4,5,6]
的属性?”
person_id
是次要索引。
我的感觉就像以某种方式提取了与任何人都不匹配的属性id
而不是删除它们。但是,我不知道如何实现这一点。