来自Mongo我可以使用例如db.getCollection('events').find({ whenOccurred: {$gte: new Date(ISODate().getTime() - 1000 * 60 * 60 * 24 * 120) }})
但是从Mule,我无法找到构建DW字段的方法,以便在日期字段上使用$gte
运算符。
有什么想法吗?
答案 0 :(得分:0)
您可以使用org.bson.Document check this从java驱动程序使用此查询获取结果,以获取更多详细信息。您需要使用java组件来执行此操作。在我的观察中,您不能直接使用带有日期值的$ gte,因为它在monodb查询中。以下是我尝试过但不会返回任何结果。
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:json="http://www.mulesoft.org/schema/mule/json"
xmlns:http="http://www.mulesoft.org/schema/mule/http"
xmlns:mongo="http://www.mulesoft.org/schema/mule/mongo"
xmlns="http://www.mulesoft.org/schema/mule/core"
xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:spring="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core
http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http
http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/mongo
http://www.mulesoft.org/schema/mule/mongo/current/mule-mongo.xsd
http://www.mulesoft.org/schema/mule/json
http://www.mulesoft.org/schema/mule/json/current/mule-json.xsd">
<http:listener-config name="HTTP_Listener_Configuration" host="0.0.0.0" port="8081" doc:name="HTTP Listener Configuration"/>
<mongo:config name="Mongo_DB" username="mmcuser" password="mmcmongo" database="testdb" doc:name="Mongo DB"/>
<flow name="mongodb-testFlow">
<http:listener config-ref="HTTP_Listener_Configuration" path="/mongodq" doc:name="HTTP"/>
<set-payload value="#[string:{"from":{"$gte":"2016-04-07T05:30:00.000Z"}}]" doc:name="Set Payload"/>
<json:object-to-json-transformer doc:name="Object to JSON"/>
<mongo:json-to-dbobject doc:name="Mongo DB"/>
<mongo:find-objects config-ref="Mongo_DB" collection="appointment" query-ref="#[payload]" doc:name="Mongo DB"/>
<logger level="INFO" doc:name="Logger"/>
</flow>
</mule>