如何将带有YAML的嵌入数据加载到play / morphia / mongodb中?

时间:2012-01-22 12:57:08

标签: mongodb playframework yaml morphia

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

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

以下是使用morphia mongodb mapper的数据模型:

@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语法的任何想法?

感谢

1 个答案:

答案 0 :(得分:0)

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