如何解决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 举报,一经查实,本站将立刻删除。