2016-11-25 10 views
1

私はMuleを使用してSQLServerデータベーステーブルの一部を取り出しました。今ではmongoDBにコレクションを作成する必要があります。Muleを使用してMongoDBに接続する

接続は正常に作成できましたが、コレクションをMongoDBに作成できませんでした。以下

は私がアプリケーションを実行した後に展開されているのと同じ

<?xml version="1.0" encoding="UTF-8"?> 

<mule xmlns:mongo="http://www.mulesoft.org/schema/mule/mongo" xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns:json="http://www.mulesoft.org/schema/mule/json" xmlns:db="http://www.mulesoft.org/schema/mule/db" 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/db http://www.mulesoft.org/schema/mule/db/current/mule-db.xsd 
http://www.mulesoft.org/schema/mule/json http://www.mulesoft.org/schema/mule/json/current/mule-json.xsd 
http://www.mulesoft.org/schema/mule/mongo http://www.mulesoft.org/schema/mule/mongo/current/mule-mongo.xsd"> 
<db:generic-config name="MicrosoftSQLServerDB"   url="jdbc:sqlserver://localhost:1433;DatabaseName=TESTNAV;user=sa;password=xxxxx" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" doc:name="Generic Database Configuration"/> 
<mongo:config name="mymongoconfig" database="mydb1" doc:name="Mongo DB"/> 
<http:listener-config name="HTTP_Listener_Configuration" host="0.0.0.0" port="8081" doc:name="HTTP Listener Configuration"/> 
<flow name="replicateFlow"> 
    <http:listener config-ref="HTTP_Listener_Configuration" path="/" doc:name="HTTP"/> 
    <db:select config-ref="MicrosoftSQLServerDB" doc:name="Database"> 
     <db:parameterized-query><![CDATA[Select * from [Electoral-Mechanicals P Ltd$Customer]]]></db:parameterized-query> 
    </db:select> 
    <logger message="No. of Records fetched from Table:#[payload.size()]" level="INFO" doc:name="Logger"/> 
    <mongo:insert-object collection="customer" config-ref="mymongoconfig" doc:name="Mongo DB"/> 
</flow> 
</mule> 

であっても、アプリケーションの状態のために使用していますXMLですが、何のコレクションは、MongoDBのに


    • ありません
        • APPLICATION + - - * - - + DOMAIN + - - * - - + STATUS + - - *
  • 複製*デフォルト*

    * DEPLOYED

答えて

0

明示的にコレクションを作成する必要があります。以下の詳細/例を使用して新しいコレクションを作成することができます。

コレクション

'<mongo:create-collection>' 

は、新しいコレクションを作成します作成します。コレクションがすでに存在する場合は、 MongoExceptionがスローされます。

XMLサンプルまたは

<mongo:create-collection 
config-ref="Mongo_DB__Configuration"    
collection="aCollection" capped="true"/> 

あなたは最初のコレクションは、同じ名前で存在すると、あなたが台無し何にもしたいいけないことを確認することにした場合。あなたは、次を使用することができます。コレクションが存在する場合は

コレクション

<mongo:exists-collection> 

回答存在し、その名前 XMLサンプルを与え

<mongo:exists-collection 
config-ref="Mongo_DB__Configuration" 
collection="aColllection"/> 
+0

こんにちはサティシュを挿入したいキーの値を入力し、それを呼び出すために操作「InsertDocument」を選択してください応答をありがとう....私はすでに私のコードで使用されているのと同じ名前で_mongoDB_に手動でデータベースとコレクションを作成しました。しかし、事はまだ同じです。** customer **コレクションの下でmongoDBに反映されるデータはありません –

+0

あなたのコードがあなたが作成したコレクションをポーリング/到達できることを確認するには、を使用できますか? –

+0

エラーが発生しているか、コードが正常に実行されますが、コレクションに何も挿入されません。 –

0

をコレクションに文書を挿入するにはあなたが必要とするミュールを使用してmongodbで

<mongo:insert-document 
config-ref="Mongo_DB__Configuration" 
collection="Employees"> </mongo:insert-document> 

あなたは

<mongo:insert-object> which i guess is not a valid API entity, 
0

を使用しているしかし、あなたはにinsertObjectやInsertDocumentを使用する必要がある、あなたが持っているバージョンによって異なります。ほとんどの操作名はMongo Driver v3に準拠するように変更されているため、InsertObject操作があった場合、InsertDocumentとして表示されます。いずれの場合においても

、ミュールには、以下の手順を実行insertDocument動作を呼び出す:

  1. 見つけ、ドラッグアンドHTTPコネクタを落とし、Anypointスタジオキャンバス上のメッセージ、およびMongoDBのコネクタを変換します。

  2. の構成コネクタの構成を選択することにより、MongoDBのコネクタと

  3. をクリックして、メッセージを変換し、あなたが

+0

こんにちは@andrescortes、私はAnypointとmongoDBドライバのために使用しているバージョンは、 "InsertDocument"のオプションはありません。私は "Insert-Object"オプションでのみ利用可能です。ご意見をお聞かせください。 –

+0

はい最新のanypointで私はまた、挿入オブジェクトを参照してください –

関連する問題