如何使用 YAML 将嵌入数据加载到 play/morphia/mongodb 中?

发布于 2024-12-28 05:59:55 字数 1050 浏览 0 评论 0原文

我正在使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

葬﹪忆之殇 2025-01-04 05:59:55

当前 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文