因此,我正在使用 Mongodb Compass 并尝试测试 Geolocation,而 MongoDB 网站非常擅长终端编码,我需要能够在 mongoDB atlas 中执行与以下相同的操作 - 只是为了确保代码有效。
我计划在我的反应应用程序中使用 Mongoose 作为驱动程序来获取数据,但是我只是想在我走远之前我应该看看这是否真的可能(现在我知道 Mongodb Compass 与 Mongoose 不同,查询可能有点不同的。)
db.campaign.find({ location:
{ $geoWithin:
{ $centerSphere: [ [ 115.880321, 31.9256201], 5 / 3963.2 ] } } })
集合看起来像这样
{"_id":{"$oid":"55cba2476c522cafdb053add"},"location":{"coordinates":[115.880321,-31.9256201],"type":"Point"},"name":"DRN1"}
它目前抛出一个错误,甚至不允许我尝试搜索它。
询问
{ location: { $nearSphere: { $geometry: { type: "Point", coordinates: [ 115.880321, -31.9256201 ] }, $maxDistance: 5 * 1609.34 } } }