WSO2 Mongo 数据服务动态查询参数
WSO2 Mongo data service dynamic query parameter
我正在尝试在 WSO2EI 中创建一个 mongo 数据服务。目前我有这个查询,它根据 componentId:
给我结果
<query id="find" useConfig="MongoDB">
<expression>collection.find("{componentId : #}")</expression>
<result outputType="json">{
"Documents": {
"Document": [
{
"Data": "$document"
}
]
}
}</result>
<param name="componentId" sqlType="STRING"/>
</query>
但我需要动态输入参数才能根据我提供的参数名称.find 不同的结果,如下所示:
<query id="find" useConfig="MongoDB">
<expression>collection.find("{fieldName : #} : {fieldValue : #}")</expression>
<result outputType="json">{
"Documents": {
"Document": [
{
"Data": "$document"
}
]
}
}</result>
<param name="fieldName" sqlType="STRING"/>
<param name="fieldValue" sqlType="STRING"/>
</query>
这可能吗?还是我必须为每个参数创建多个查询?
谢谢
是的,这是可能的!试试这个(为我工作)。
<query id="wesites_find_param" useConfig="mongo_ds">
<expression>websites.find("{#: #}")</expression>
<result element="Documents" rowName="Document" useColumnNumbers="true">
<element column="document" name="Data" xsdType="string"/>
</result>
<param defaultValue="name" name="par1" sqlType="STRING"/>
<param name="par2" sqlType="STRING"/>
</query>
<operation name="website_find_param_op">
<call-query href="wesites_find_param">
<with-param name="par1" query-param="par1"/>
<with-param name="par2" query-param="par2"/>
</call-query>
</operation>
<resource method="GET" path="/websitefind">
<call-query href="wesites_find_param">
<with-param name="par1" query-param="par1"/>
<with-param name="par2" query-param="par2"/>
</call-query>
</resource>
例如,
- 对于 componentId : "pippo" 使用
?par1=componentId&par2=pippo
- 对于组件名称:"proxy_hl7" 使用
?par1=componentName&par2=proxy_hl7
我正在尝试在 WSO2EI 中创建一个 mongo 数据服务。目前我有这个查询,它根据 componentId:
给我结果<query id="find" useConfig="MongoDB">
<expression>collection.find("{componentId : #}")</expression>
<result outputType="json">{
"Documents": {
"Document": [
{
"Data": "$document"
}
]
}
}</result>
<param name="componentId" sqlType="STRING"/>
</query>
但我需要动态输入参数才能根据我提供的参数名称.find 不同的结果,如下所示:
<query id="find" useConfig="MongoDB">
<expression>collection.find("{fieldName : #} : {fieldValue : #}")</expression>
<result outputType="json">{
"Documents": {
"Document": [
{
"Data": "$document"
}
]
}
}</result>
<param name="fieldName" sqlType="STRING"/>
<param name="fieldValue" sqlType="STRING"/>
</query>
这可能吗?还是我必须为每个参数创建多个查询?
谢谢
是的,这是可能的!试试这个(为我工作)。
<query id="wesites_find_param" useConfig="mongo_ds">
<expression>websites.find("{#: #}")</expression>
<result element="Documents" rowName="Document" useColumnNumbers="true">
<element column="document" name="Data" xsdType="string"/>
</result>
<param defaultValue="name" name="par1" sqlType="STRING"/>
<param name="par2" sqlType="STRING"/>
</query>
<operation name="website_find_param_op">
<call-query href="wesites_find_param">
<with-param name="par1" query-param="par1"/>
<with-param name="par2" query-param="par2"/>
</call-query>
</operation>
<resource method="GET" path="/websitefind">
<call-query href="wesites_find_param">
<with-param name="par1" query-param="par1"/>
<with-param name="par2" query-param="par2"/>
</call-query>
</resource>
例如,
- 对于 componentId : "pippo" 使用
?par1=componentId&par2=pippo
- 对于组件名称:"proxy_hl7" 使用
?par1=componentName&par2=proxy_hl7