【问题标题】:How to load embedded data with YAML into play/morphia/mongodb?如何使用 YAML 将嵌入数据加载到 play/morphia/mongodb 中?
【发布时间】:2012-01-22 12:57:07
【问题描述】:

我正在使用 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 语法有什么想法吗?

谢谢

【问题讨论】:

    标签: mongodb playframework yaml morphia


    【解决方案1】:

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

    【讨论】:

    • 太糟糕了。不过还是谢谢你。这个问题有什么推荐的解决方法吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-05
    • 1970-01-01
    • 2013-07-17
    • 1970-01-01
    相关资源
    最近更新 更多