gpt4 book ai didi

java - 如何在mongodb中存储数组?

转载 作者:行者123 更新时间:2023-11-29 03:44:16 25 4
gpt4 key购买 nike

我想使用 java 在 mongoDB 集合中存储一个简单的纬度、经度数组,我正在使用以下代码,但我的“loc”数组始终为空:

BasicDBObject doc = new BasicDBObject();
//doc.put("key " , r.getKey());
doc.put("category" , r.getKey());
doc.put("type" , r.getValue());

BasicDBObject latlon = new BasicDBObject();


ArrayList<Float> aLatLong = new ArrayList<Float>();

{




Float fLat = Float.parseFloat(r.getLatitude());
Float fLon = Float.parseFloat(r.getLongitude());
aLatLong.add(fLat);
aLatLong.add(fLon);

latlon.put("lat" , fLat);
latlon.put("lon" , fLon);
}


doc.put( "loc" , aLatLong);

但是当我根本不使用 ArrayList 并尝试将 latlon 存储到“loc”时,它会向我显示数据,但它不再是数组。

如何在 mongoDB 中保存一个简单的数组?

最佳答案

试试这个

BasicDBObject doc = new BasicDBObject();
//doc.put("key " , r.getKey());
doc.put("category" , r.getKey());
doc.put("type" , r.getValue());

java.util.Map<String,Float> latLongMap = new java.util.HashMap<String,Float>();
latLongMap.put("lat" , Float.parseFloat(r.getLatitude());
latLongMap.put("lon" , Float.parseFloat(r.getLongitude());

doc.put( "location" , latLongMap);

这将存储经纬度的 json。此外,如果您想将它们存储为数组,这也是可能的,但我建议您将它们存储为数组。

关于java - 如何在mongodb中存储数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11721820/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com