Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hello,
I would like to insert data into a NoSQL DataBase (MongoDB).
The problem is I the format of my Json will change very often, example:
{
name: "okoo",
quality: "good"
}
OR
{
designation: "comportement",
type: "forge"
}
I can't know what will it be in my JSON.
So my question is how can I send a JSON to the component tMongoDBOutput, because I have the impression it needs a shema!
Hello,
Feature of dynamic schema is not supported for MongoDB components as of now.
A new feature jira issue has been submitted to address it in future release.https://jira.talendforge.org/browse/TBD-3134
Could you try to make use of tExtractJson components and meet the requirement?
Best regards
Sabrina
This new feature was created on February 2016, do you know if they are progressing?
I'm trying to make a dynamic json with tJavaRow and send it to tMongoDbOutput, but it's not working. Do you have any other ideas?
Hello,
Feel free to vote for this new feature jira issue.
Depending up on your usecase, are you able to make use of tExtractJson components and meet the requirement else one can restrict to use set schema option?
Best regards
Sabrina
I'll explain you my use case, maybe you'll have an idea I didn't think.
I'm listing a SQL Server Database, and when there is an insert or update in this Database, I get the new Data.
The row that will be returned to me may be different depending on the table that has just been modified (So I need a dynamic schema).
When I have this new data, I want to insert it in MongoDB. The problem is, my schema is dynamic and I can't push this dynamic schema to MongoDB.
What do you think?
Hello,
Here's my approach for this problem.
You route your SQL input to a tWriteJSONField that generates the JSON, and then you send it to a tMongoDBRow using a function or a command.
Here's an example, using a tFixedFlowInput to generate some rows, just replace it with your Db row input.
Input
JSON schema
JSON tree
("Remove root node" is important !)
Output command
Hope this will help.
Regards,
--
Pierre Réveillon