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