0

我正在使用 play 开发一个网络应用程序!框架和morphia/mongodb。我正在尝试使用 play 提供的 YAML 功能加载一些初始数据。

我无法弄清楚导入嵌入对象的正确语法。

这是我使用 morphia mongodb 映射器的数据模型:

@Entity(noClassnameStored=true)
public class MongoEvent extends Model {

public String eventId;
public String name;

@Embedded
public static List<MongoEventListItem> eventListItems;

public MongoEvent(String name){
    UUID uuid = UUID.randomUUID();
    eventId = uuid.toString();
    this.name = name;
    }
}

@Embedded
public class MongoEventListItem {

    public String name;
    public String quantity; 
}

使用以下 yaml 代码,我可以导入 MongoEvent,但不能导入嵌入的 MongoEventListItem:

MongoEventListItem(mitem2):
 name: beer
 quantity: 50

MongoEvent(mevent1):
 eventId: 4
 name: mango_event
 eventListItems: [mitem2]

在 mongodb 中,我得到以下数据:

{ "_id" : ObjectId("4f167231c2e6ac08b5c86685"), 
  "eventId" : "4", 
  "name" : "mango_event", 
  "date" : ISODate("2012-06-09T00:00:00Z") }

关于正确的 YAML 语法的任何想法?

谢谢

4

1 回答 1

0

当前 PlayMorphia 模块 (v1.2.4) 不支持加载嵌入式对象列表。检查https://github.com/greenlaw110/play-morphia/issues/28

于 2012-01-22T13:21:37.400 回答