1

上下文:我正在使用 mongodb 插件,尽管这可能与此无关。

假设我有两个域类,Foo 和 Bar,其中 Foo 有许多 Bar 和 Bar 属于 Foo:

class Foo {
    static hasMany = [bar:Bar]
}

class Bar {
    static belongsTo = [foo:Foo]
}

我希望存储的是 Foo 的集合(或表)、Bar 的集合和处理映射的 FooBar 集合。相反,我得到了一个 Foo 集合和一个 Bar 集合,其中 Bar 有一个“foo”键。似乎正在发生的事情是只添加belongsTo但省略hasMany的预期结果......

A) 我的期望是不是完全不正确,正在发生的事情是预期的结果吗?B)如果不是 A,我需要做一些特别的事情来使它符合我的期望吗?

想法?

4

1 回答 1

3

我们知道 mongodb 是非关系数据库,这就是为什么发生的事情是正确的,它不会创建第三个表或集合来处理很多但是当你使用 mongodb 插件时,你可以像你一样查询它有 many/belongsTo一般与mysql一起使用。在您的情况下, foo 的 db 结构将是:

{ "_id" : NumberLong(1), "version" : 0  }

对于 Bar 将是:

{ "_id" : NumberLong(1), "foo" : NumberLong(1), "version" : 0 }

它会为您提供,因为它是从父级到子级的级联删除,就像使用 mysql 的情况一样

希望能帮助到你:)

于 2013-10-18T19:48:30.167 回答