Spring Mongo Query 不起作用 -> readName 只能在 State 为 NAME 时调用,而在 State 为 VALUE 时不能调用

问题描述

Spring java @query

@Aggregation(pipeline = {"{ '$match': { 'deviceid' : '?0','createdDate' : { '$gte': {'$date' : '?2'},'$lte': {'$date' : '?3'} },'organizationId' : '?1' },'eventType':'removeProduct' }","{ '$project' : { 'organizationId' : '$organizationId','deviceid' : '$deviceid','eventType' : '$eventType','userName' : '$userName','type' : 'basket-action','dateCreated' : '$createdDate','itemsInfo': { '$cond': { 'if': { '$eq': [ '$eventType','clearBasket' ] },'then': { '$map' : { 'input': '$eventData','as': \"item\",'in' : { 'name': '$$item.product.name','sku': '$$item.product.sku','quantity' : '$$item.quantity','amountIncludingTax' : { '$cond' : { 'if' : { '$eq': [ '$$item.product.isFlexiblePrice',true ] },'then' : { '$sum' : [ '$$item.price.amountExcludingTax','$$item.price.tax.totalAmount' ] },'else': { '$sum' : [ '$$item.unitPrice.amountExcludingTax','$$item.unitPrice.tax.totalAmount' ] } } },'measurementPrecisionDecimalCount' : '$$item.product.measurementPrecisionDecimalCount','measurementUnitCode': '$$item.product.measurementUnitCode' } } },'else': [ { 'name': '$eventData.product.name','sku': '$eventData.product.sku','quantity' : '$eventData.quantity'},'amountIncludingTax' : { '$cond': { 'if': { '$eq': [ '$eventData.product.isFlexiblePrice','then': { '$sum' : [ '$eventData.price.amountExcludingTax','$eventData.price.tax.totalAmount' ] },'else' : { '$sum' : [ '$eventData.unitPrice.amountExcludingTax','$eventData.unitPrice.tax.totalAmount'] } } },'measurementPrecisionDecimalCount': '$eventData.product.measurementPrecisionDecimalCount','measurementUnitCode' : '$eventData.product.measurementUnitCode' } } ] } }"})

Mongo 查询有效,但尝试在 Spring 存储库中使用它会引发以下错误。任何输入都会有所帮助。不确定这是由于 java String 中的语法错误还是其他一些问题?

readName can only be called when State is NAME,not when State is VALUE

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...