Java中的Mongodb geonear查询
如何在Java中运行这个mongodb命令geonear db.runCommand({geoNear:“mycollection”,靠近:[ -121.97679901123047,37.5573692321777734],球面:真,最大距离:50/3959/*到弧度*/,查询:{$or:[ {“myuserid”:“att”},{“\u id”:{$in: [ObjectId(“4fda8fbbe7e96e2d775595d”)]}}}}} 我正在java中使用Commandresult进行尝试,但出现了错误Java中的Mongodb geonear查询,java,mongodb,geospatial,Java,Mongodb,Geospatial,如何在Java中运行这个mongodb命令geonear db.runCommand({geoNear:“mycollection”,靠近:[ -121.97679901123047,37.5573692321777734],球面:真,最大距离:50/3959/*到弧度*/,查询:{$or:[ {“myuserid”:“att”},{“\u id”:{$in: [ObjectId(“4fda8fbbe7e96e2d775595d”)]}}}}} 我正在java中使用Commandresult进行
这就是我到目前为止所做的,尽管命令打印正确,但得到了空指针异常。我是java和数据库新手
BasicDBObject myCmd = new BasicDBObject();
myCmd.append("geoNear", "mycollection");
double[] loc = {-121.97679901123047,37.557369232177734};
myCmd.append("near", loc);
myCmd.append("spherical", true);
myCmd.append("maxDistance", (double)50 / 3959 );
System.out.println(myCmd);
CommandResult myResults = db.command(myCmd);
System.out.println(myResults.toString());
提前谢谢。我能解决我的问题。未连接到正确的数据库。谢谢你的帮助。地理查询现在运行良好。谢谢。解决方案是修复代码。不客气。(提示:向我们显示错误消息以获得更详细的答案。)这就是我到目前为止所做的,并获得空指针异常,尽管命令打印正确。我是java和数据库新手。[BasicDBObject myCmd=new BasicDBObject();myCmd.append(“geoNear”,“mycollection”);double[]loc={-121.97679901123047,37.55736923217734};myCmd.append(“near”,loc);myCmd.append(“球形”,true);myCmd.append(“maxDistance”,“double”)50/3959);System.out.println(myCmd);CommandResult myResults=db.command(myCmd);System.out.println(myResults.toString());]也许可以检查myResults是否不为null?它在哪里引发异常?哪一行?您提供的上下文越多,就越容易帮助您。如果您没有提供尽可能多的信息,很难想到代码中可能存在的所有错误。请进一步研究这个问题。我同意,null指针虽然我可以在mongodb命令提示符下运行相同的命令。{“geoNear”:“mycollection”,“near”:[-121.97679901123047,37.5573692321777734],“sphereal”:true,“maxDistance”:0.01262945188178833}java.lang.NullPointerException位于com.xxResource.getxxx(xxxesource.java:87)和你一样的例外和错误,谢谢你花时间写下你的错误作为答案。