Mongodb:圆形查询的架构设计是否合适?

时间:2015-12-14 07:55:19

标签: java mongodb spring-data-mongodb

我需要找到具有指定经度,纬度,半径的用户。经度,纬度和半径将在我的项目集合中。如此设计的集合架构如下,

{
    "_id" : NumberLong(46603),
    "itemName" : "Chandigarh",
    "categoryName" : "TRAVELLING",
    "location" : {
        "_id" : null,
        "longitude" : 77.15319738236303,
        "latitude" : 28.434568229025803,
        "radius" : 29153.88048637637
    }
}

项目集合

db.users.find({ location: { $geoWithin: { $center: [ [77.15319738236303,28.434568229025803], 29153.88048637637/3963.2] } } } ).count()

现在我正在点击查询

printf

这给了我一个错误的结果,请帮助我在这里做错了什么?

1 个答案:

答案 0 :(得分:1)

如果您希望以后在项目中查询与$geoWithin$centerSphere相关的内容,请仅指定您的结构: -

"location" : {
        "lng" : 77.15319738236303,
        "lat" : 28.434568229025803
    },
"redius" : 120