【发布时间】:2013-02-06 13:38:37
【问题描述】:
假设有两个独立的集合: 城市{name: "NYC", area: "1223", people: [1,2,3]} 和 人 {personId:1, name:"abc"}
如您所见,我们已将城市中的人员 ID(RDBMS 中的一种外键)关联起来。
现在,如果我决定删除 Id = 1 的人,那么我想更新 Cities 中的人员数组,就像 RDBMS 中的级联删除操作一样,我知道我们没有按照 @ 的级联删除类型的操作987654321@,并且由于我们在 MOngoDB 中没有事务,如果我们以某种方式无法对城市执行“级联删除”类型的操作,那么数据库可能会处于不一致状态。如何确保整个“删除人+城市级联删除”作为MongoDB中的原子操作?如果不能,那么我们是否更喜欢嵌入而不是链接?
【问题讨论】:
-
谢谢大家的回答,非常感谢。问题从来都不是方案设计,可能是我给出的例子导致了模式设计问题并为此道歉。问题是在MongoDB中实现自动操作。
标签: mongodb