问题 将枚举保存到mongoDB中


有没有办法将枚举保存到mongoDB中?我想保存类似的东西:

public enum SnapshotType {
  EVENT,
  MEMORY
}

5259
2018-03-06 17:28


起源



答案:


我假设你的意思是将枚举值保存到集合中。

基本上,您只需将其添加到实体模型中,如下所示:

@Document(collection = "MyEntity ")
public class MyEntity {
   public SnapshotType snapshotType;
}

它会将它作为字符串存储在mongo中,并在您读出时自动转换。


15
2018-03-06 22:30



谢谢我认为我的问题是JAXB相关而不是MongoDB。 - inglor
保存为STRING的问题在于它在BSON和索引中占用更多空间。将这些编组成int32或更小版本会很棒。 - Nic Cottrell


答案:


我假设你的意思是将枚举值保存到集合中。

基本上,您只需将其添加到实体模型中,如下所示:

@Document(collection = "MyEntity ")
public class MyEntity {
   public SnapshotType snapshotType;
}

它会将它作为字符串存储在mongo中,并在您读出时自动转换。


15
2018-03-06 22:30



谢谢我认为我的问题是JAXB相关而不是MongoDB。 - inglor
保存为STRING的问题在于它在BSON和索引中占用更多空间。将这些编组成int32或更小版本会很棒。 - Nic Cottrell


只需保存结果。 mongo中没有架构。


1
2018-03-06 18:34