如何在 MongoDB 中查询地理空间位置和另一个术语(例如,标签或类别)?我尝试了以下标准
searchResults = Company.withCriteria {
withinCircle( [50d,8.5d], 60 )
inList('tags', tagName)
}
但看起来“withinCircle”并未针对标准实施。还有其他技术吗?使用动态查找器“findAllBy...And...”也不起作用:
Company.findAllByTagsAndLocationWithinCircle( tagName, [ [50d, 8.5d], 60 ] )
(两者都给我一个“groovy.lang.MissingMethodException:没有方法签名......”错误。)
我错过了什么还是有办法通过低级API(gmongo)等?
域类如下所示:
class Company {
ObjectId id
Set tags = [] // a set of ObjectID referencing Tags
List<String> tagList = new ArrayList<String>() // a list of names from the Tags
}
class Tags {
ObjectId id
Set companies = [] // a set of ObjectID referencing Companies
}
顺便说一句:Company.tags 和 Company.tagList 是同步的,仅用于测试(我从标签开始,但认为 tagList 可以帮助搜索)