当前位置: 首页 > 知识库问答 >
问题:

Spring data MongoDB排序空间结果

潘青青
2023-03-14
    @Document(collection="StoreData")
    public class StoreData{
         @Id
         private String id;
         private String storeName;
         private GeoJsonPoint storeLocation;
         private double geoLat;
         private double geoLng;
         private char isStoreOpenInd;
         private char doesStoreAcceptCreditInd;
   }

我能够用所有这些条件编写一个查询对象,并使用MongoTemplate获得结果。但不对结果进行排序。我怎么分类

这是我到现在为止的密码。

    Query query = new Query();
    TextCriteria textCriteria =  TextCriteria.forDefaultLanguage().matchingAny(storeNameFromRequest);
    query.addCriteria(textCriteria);

    Point geoPoint = new Point(lngFromRequest, latFromRequest);
    Distance geoDistance = new Distance(10, "MI");
    Circle geoCircle = new Circle(geoPoint, geoDistance);
    query.addCriteria(Criteria.where("atmGeoLocation").withinSphere(geoCircle));

    query.addCriteria(Criteria.where("isStoreOpenInd").is(isStoreOpenIndFromRequest);

没有添加排序或排序依据的位置。我怎么弄到这个?

共有1个答案

高锦
2023-03-14

可以指定查询的排序方向:

query.with(new Sort(Sort.Direction.ASC, "field"));

正如您在评论中提到的,上面的答案对Geopoint不起作用。您可以在这里找到一个替代的解决方案:Spring MongoTemplate。排序在geo查询(NearQuery)中不工作

这个答案有点过时,不确定现在(2016年)是否有新的东西。

 类似资料:
  • 我正在阅读《破解编码面试》一书,遇到了一个问题:“编写一个程序,按升序对堆栈进行排序。您可以使用其他堆栈来保存项目,但不能将元素复制到任何其他数据结构(如数组)中。堆栈支持以下操作:push、pop、peek、isEmpty。” 这本书用O(n^2的时间复杂度和空间复杂度给出了答案。 但是,我偶然发现了这个博客,它使用快速排序方法在O(n log n)时间复杂性中提供了答案。 我想知道的是空间复杂

  • 让我们以合并排序的实现为例 a) 这种合并排序的时间复杂度是。并行化(1)和(2)会带来实际收益吗?从理论上讲,在对它们进行并行化之后,似乎最终也会出现。但实际上我们能得到什么好处吗? b) 这种合并排序的空间复杂度是。但是,如果我选择使用链表执行就地合并排序(不确定是否可以合理地使用数组),空间复杂性是否会变得,因为您必须考虑递归堆栈帧大小?既然它不能超过64,我们能把当作常数吗?我可能在几个地

  • 我通过一个python代码按字母顺序对单词进行排序。我意识到当我写“,”和“时,输出会发生变化。这可能是基本的,但有人能帮我理解为什么会发生这种情况吗? 第1例: 排序:黑色,黑色,绿色,红色,红色,白色

  • 你可以使用 org.hibernate.criterion.Order 来为查询结果排序。 List cats = sess.createCriteria(Cat.class) .add( Restrictions.like("name", "F%") .addOrder( Order.asc("name") ) .addOrder( Order.desc("age") )

  • 我已经在Java和C中找到了这个问题的几个实现,但我还没有找到一个使用JavaScript的示例。这是一个相当常见的技术面试问题: 在2n空间中对堆栈进行排序。(仅使用2个堆栈对堆栈进行排序)

  • 问题内容: 使用时,我找不到任何排序结果的方法 就我而言,我想按.Ports订购 如何订购结果? 问题答案: 列出容器 格式 概要 显示容器及其命令 在表格中显示带有标签的容器 在表中显示带有节点标签的容器