java mongo subtract_春数据MongoDB的聚合框架,例外

访问计算值,我有旅行的集合,每行有一个的startDateTime和completionDateTime财产。春数据MongoDB的聚合框架,例外

我试图使用聚合框架来找到用户的出行的平均持续时间。

我的聚集看起来非常简单,但和它抛出一个异常。

有以下3个步骤,第一只匹配前往特定的用户ID。 在管道的第二步中,我会将我感兴趣的数据以及每次旅程的新计算持续时间进行投影。

我预计从投影的持续时间是在人群一步,但是我得到以下IllegalArgumentException异常。 持续时间不是我的Trip类中的属性,而是来自我在文档中看到的例子,我不认为它需要。 持续时间是我的分析类的一个属性。

TypedAggregation aggregation = newAggregation(Trip.class,

match(Criteria.where("userId").is(aUserId)),

project("completionDateTime", "startDateTime", "userId")

.and("completionDateTime").minus("startDateTime").as("duration"),

group("userId").avg("duration").as("averageDuration")

);

AggregationResults result = mongoTemplate.aggregate(aggregation, Analytics.class);

我相信,持续时间越来越计算正确,如果我离开了组一步我回来的文档的集合,它们都具有持续时间设置。

java.lang.IllegalArgumentException: Invalid reference 'duration'!

at org.springframework.data.mongodb.core.aggregation.ExposedFieldsAggregationOperationContext.getReference(ExposedFieldsAggregationOperationContext.java:78)

at org.springframework.data.mongodb.core.aggregation.GroupOperation$Operation.getValue(GroupOperation.java:367)

at org.springframework.data.mongodb.core.aggregation.GroupOperation$Operation.toDBObject(GroupOperation.java:363)

at org.springframework.data.mongodb.core.aggregation.GroupOperation.toDBObject(GroupOperation.java:308)

at org.springframework.data.mongodb.core.aggregation.Aggregation.toDbObject(Aggregation.java:247)

我使用1.3.4.RELEASE

有什么建议?

+0

你能准确地用更新的问题,你怎么跑了企图对1.4以及是否得到了确切的相同的异常(如你不能包括你得到的那个吗?) –

+0

@AsyaKamsky我使用完全相同的代码,并得到了与1.4.1.RELEASE –

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/357742.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一键转发抢红包源码及搭建教程

导读:一键转发抢红包搭建教程如下:源码请在资源模块下载。 搭建教程 第一步注册bmob建立一个项目 项目包括这些表单(file表可以不建立) (应用ID在后台项目设置里面) 表DaSha这样建立 表Sha这样建立 找zi()方法第一步

Java性能教程– Java 8流有多快?

在此JAX Magazine的预览预览中,JAX伦敦发言人Angelika Langer为使用Java流的任何人回答了最重要的问题:它们真的更快吗? Java 8是JDK收集框架的主要新增功能,即流API。 与集合相似,流表示元素序列。 集合支持对单个元…

android 开发

初学者学习 Android 开发,有什么好网站推荐? 前段日子一直在看安卓巴士这个网站,但网站突然进行改版,很多内容都找不到了,一下子怅然若失起来1 条评论 分享按投票排序按时间排序50 个回答 yava,半瓶水fei …

java迭代器删除重复元素_Java中的List删除重复元素

List接口做为Java集合框架中的一员,对数据的操作和处理比数组方便许多。在数组中插入一个元素要从数组的最后一个元素到当前插入的位置依次向后移动一位,然后为插入的位置进行赋值。在数组删除一个元素要从删除元素的下一个元素位置到数组最后一个元素依…

2021Golang技术基础知识及学习路线图

导读:Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。 Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发…

SDWebImage的使用说明

1. 在需要的地方导入头文件 #import "UIImageViewWebCache.h" webCache:网络缓存,几乎目前所有的浏览器都有一个内置的缓存,它们通常利用客户端本地的内存和硬盘来完成缓存工作, 同时允许用户对缓存的内容大小作控制。 这个方法默认…

深入了解区块链技术及其常见误区

导读:区块链是一个信息技术领域的术语。从本质上讲,它是一个共享数据库,存储于其中的数据或信息,具有“不可伪造”“全程留痕”“可以追溯”“公开透明”“集体维护”等特征。基于这些特征,区块链技术奠定了坚实的“信任”基础,创造了可靠的“合作”机制,具有广阔的运用…

ztree java 增删改_Ztree实现增删改查

1.和另一篇文章--[TreeGrid 实现增删改查]前面的内容一致,只需要创建一个html页面,命名为ztree-01.html,粘贴如下网址的代码进入ztree-01.html。访问http://www.treejs.cn/v3/faq.php#_206复制这些代码html> ZTREE DEMO TITLE>HEAD>…

gwt api_使用RequestFactory API进行Spring GWT集成

gwt api从GWT 2.4开始,将RequestFactory API与后端的Spring服务集成很容易,您需要做的就是在服务器上创建一个自定义ServiceLocator,GWT将使用它来正确定位被调用的服务: public class SpringServiceLocator implements ServiceLo…

Android Studio导入项目非常慢的解决办法

问题 Android Studio目前已经更新到2.0 Preview 6了,作为Google大力推崇的开发工具,相对于Eclipse ADT有着不可比拟的优势。然而在实际使用时,依然有不少不爽的地方。Android Studio原生支持使用Gradle来构建项目本是个不错的想法&#xff0c…

AI时代——人工智能技术图谱,它来啦(机器学习+深度学习学习路线)

导读:人工智能是一门极富挑战性的科学,从事这项工作的人必须懂得计算机知识,心理学和哲学。人工智能是包括十分广泛的科学,它由不同的领域组成,如机器学习,计算机视觉等等,总的说来,人工智能研究的一个主要目标是使机器能够胜任一些通常需要人类智能才能完成的复杂工作…

java线程代码实现_Java 实现线程的2种方法的具体代码实例

实现线程的众所周知的方法具体有如下2种:(1)继承Thread类,重写run方法(2)实现Runnable接口,重写run方法然后我做如下具体实例来测试。package com.lxk.threadTest;/*** 线程测试* * Created by lxk on 2016/11/12*/public class ThreadTest {…

编写下载服务器。 第五部分:油门下载速度

在僵尸网络时代,您可以租用几百美元来运行自己的分布式拒绝服务攻击,拥有紧急开关有选择地关闭昂贵的功能或极大地降低性能是一个巨大的胜利。 在缓解问题的同时,您的应用程序仍可运行。 当然,这种安全措施在高峰或工作时间也很有…

高内聚,低耦合——8大核心中间件,微服务基础技术栈技术图谱

什么是微服务? 维基上对其定义为:一种软件开发技术- 面向服务的体系结构(SOA)架构样式的一种变体,将应用程序构造为一组松散耦合的服务。在微服务体系结构中,服务是细粒度的,协议是轻量级的。 微服务(或微服务架构)是一种云原生架构方法,其中单个应用程序由许多松散耦…

java光标移动函数_文件内光标的移动 函数基础 定义函数的三种形式 函数的返回值 调用方式...

# with open(ra.txt, r, encodingutf-8)as f:# data1f.read()# print(>1>:,data1)# print(f.tell()) # 44 只有一种情况下,光标的意思是字符# data2f.read()# print(>2>:,data2) # 第一次有结果,第二次没有,第一次读取数据后光标…

JQuery学习笔记——JQuery基础

#&#xff0c;JQuery避免名称冲突的方法var jq jQuery.noConfilct();jq.ready( function(){jq("p").hidden();});就是为了避免和其他库中$冲突&#xff1b;#&#xff0c;在引用jquery的时候&#xff0c;可以考虑使用google或者微软的cdn的jquery链接&#xff1a;<…

DBA 技能图谱——数据库管理员不在迷茫

导读:DBA一般指数据库管理员。数据库管理员(Database Administrator,简称DBA),是从事管理和维护数据库管理系统(DBMS)的相关工作人员的统称,属于运维工程师的一个分支,主要负责业务数据库从设计、测试到部署交付的全生命周期管理。 目录 DBA 技能图谱 下载地址 DBA 技能…

java的六大_java程序员必备的六大工具!

原标题&#xff1a;java程序员必备的六大工具&#xff01;Java程序员都会有套工具来应对工作上的挑战。多年来&#xff0c;Java 程序员使用软件来完成他们的工作。有很多工具对他们是有用的&#xff0c;不过对于初入行的人员来说&#xff0c;寻找合适的工具是困难的&#xff0c…

用maven运行指定java类main方法

mvn exec:java -Dexec.mainClass"com.java2s.ide.App" 转载于:https://www.cnblogs.com/silvestris/p/5162264.html

dom4j和jaxb_JAXB,SAX,DOM性能

dom4j和jaxb这篇文章研究了使用多种不同方法将XML文档编组为Java对象的性能。 XML文档非常简单。 它包含一个Person实体的集合。 <?xml version"1.0" encoding"UTF-8" standalone"yes"?> <persons><person><id>person…