我有一个Location对象,当它们持久化到mongodb时,我需要强制属性的顺序,但是我没有太多运气来弄清楚如何做到这一点。 Location类看起来像:
Location {
float lat;
float lon;
County county;
}
当它坚持到蒙哥时,县总是在经纬度之前。这是一个问题,因为我试图在其上放置地理索引,并且前两个属性必须为经/纬度。
我努力了:
@XmlRootElement(name="location")
@XmlType(propOrder={"latitude", "longitude", "county"})
Location {
float lat;
float lon;
County county;
}
当位置对象序列化为XML到我的客户端而不是DB时,该方法起作用。似乎spring数据或某些mongo mapper总是按字母顺序进行操作。
有谁知道如何强制将订单属性保留到mongo中?
谢谢!
最佳答案
您可以使用@Field批注的order属性来强制字段顺序。因此,如果您有:
Location {
@Field(order = 1)
float lat;
@Field(order = 2)
float lon;
@Field(order = 3)
County county;
}
字段按以下顺序保留:lat,lon,county。