Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Mulesoft转换消息转义正斜杠_Java_Mongodb_Mule_Dataweave - Fatal编程技术网

Java Mulesoft转换消息转义正斜杠

Java Mulesoft转换消息转义正斜杠,java,mongodb,mule,dataweave,Java,Mongodb,Mule,Dataweave,在transform消息中,我试图编写一个MongoDB查询。该查询需要像这样的正斜杠: {Event: { $in: [ /NOVEMBER/, /OUTDOORS/]}} 我目前在transform message中撰写以下内容: { Event: {'\$in': [ / flowVars.Month / , / flowVars.LocationType / ] } } 我收到了错误信息: 输入“

在transform消息中,我试图编写一个MongoDB查询。该查询需要像这样的正斜杠:

{Event: { $in: [ /NOVEMBER/, /OUTDOORS/]}}
我目前在transform message中撰写以下内容:

{
    Event: {'\$in':
        [
          / flowVars.Month / ,
          / flowVars.LocationType /
        ]
    }
}
我收到了错误信息: 输入“/”处没有可行的替代方案 在输入“,”处没有可行的替代方案


有人知道如何解决这些问题吗?

您只需要使用
++
进行简单的字符串连接吗? 下面要感谢@jerney指出了我先前回答中的冗余代码

%dw 1.0
%output application/json

%function wrap(s) "/" ++ s ++ "/"
---
Event: {
    "\$in": [
        wrap(flowVars.Month),
        wrap(flowVars.LocationType)
    ]
}

您只需要使用
++
进行简单的字符串连接吗? 下面要感谢@jerney指出了我先前回答中的冗余代码

%dw 1.0
%output application/json

%function wrap(s) "/" ++ s ++ "/"
---
Event: {
    "\$in": [
        wrap(flowVars.Month),
        wrap(flowVars.LocationType)
    ]
}

还可以创建一个函数
%function wrap(s)“/”++s++“/”
,并在需要大量使用该逻辑时使用该函数。此特定函数仍然无法实现我想要的功能。Mule向我提供以下错误:org.Mule.api.MessagineException:未能从“com.mulesoft.weave.Mule.WeaveMessageProcessor$weaveOutpurthandler”转换为“org.bson.Document”(org.Mule.api.transformer.TransformerException)。消息负载的类型为:WeaveMessageProcessor$WeaveOutputHandler这是一个完全不同的问题。如果这个答案为您的有效负载生成了正确的结构(回答了您的问题),并且让您通过了错误,那么您应该将其标记为已接受。如果您就WeaveOutputHandler->org.bson.Document问题提出另一个问题,我相信会有人愿意提供帮助。还可以创建一个函数
%function wrap(s)“/”++s++“/”
,以防您经常使用该逻辑。这个特定函数仍然没有实现我想要的功能。Mule向我提供以下错误:org.Mule.api.MessagineException:未能从“com.mulesoft.weave.Mule.WeaveMessageProcessor$weaveOutpurthandler”转换为“org.bson.Document”(org.Mule.api.transformer.TransformerException)。消息负载的类型为:WeaveMessageProcessor$WeaveOutputHandler这是一个完全不同的问题。如果这个答案为您的有效负载生成了正确的结构(回答了您的问题),并且让您通过了错误,那么您应该将其标记为已接受。如果您就WeaveOutputHandler->org.bson.Document问题提出另一个问题,我相信会有人愿意提供帮助。