如何使用 YAML 将嵌入数据加载到 play/morphia/mongodb 中?
我正在使用 play 开发一个网络应用程序!框架和吗啡/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 语法有什么想法吗?
谢谢
I'm developing a web app using the play! framework and morphia/mongodb.
I'm trying to load some initial data with the YAML feature provided by play.
I can't figure out the correct syntax for importing embedded objects.
Here is my data model using the 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;
}
Using the follwoing yaml code I can import the MongoEvent but not the embbeded MongoEventListItem:
MongoEventListItem(mitem2):
name: beer
quantity: 50
MongoEvent(mevent1):
eventId: 4
name: mango_event
eventListItems: [mitem2]
In mongodb I get the following data:
{ "_id" : ObjectId("4f167231c2e6ac08b5c86685"),
"eventId" : "4",
"name" : "mango_event",
"date" : ISODate("2012-06-09T00:00:00Z") }
Any ideas about the correct YAML syntax?
thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
当前 PlayMorphia 模块 (v1.2.4) 不支持加载嵌入对象列表。检查https://github.com/greenlaw110/play-morphia/issues/28。
Loading embedded Object list is not supported at current PlayMorphia module (v1.2.4). Check https://github.com/greenlaw110/play-morphia/issues/28.