MongoDB 存储和查询子对象

MongoDB storing and querying child objects

我有两个同一个父亲的不同对象。我想将它们存储在同一个集合中,但我希望能够分别检索每个对象。 例如,如果这些是我的对象:

我想检索所有 FirstChild 对象而不检索任何 SecondChild 对象。

除了向父对象添加类型字段之外,还有什么方法可以检索它们吗?

创建查询时,传入所需类型的 class 引用:datastore.createQuery(SecondChild.class)。默认情况下,Morphia 会跟踪文档的 class 类型,因此它可以按该类型进行过滤。

假设老大和老二是不同的类型,存储在父对象的不同字段中(父是老二的组合)

datastore.find(FatherObject.class).retrievedFields(false,"secondChildField")

将获得除 secondChildField 或

之外的所有内容
datastore.find(FatherObject.class).retrievedFields(true,"firstChildField")

只会带来 firstChildField。