MongoDB plugin for ECL language

46 views Asked by At

Trying to load all json docs from a mongodb server in a dataset using the mongodb plugin for the ECL language.

IMPORT MongoDB;
server := 'cluster0.smthing.mongodb.net';
user := 'uname';
pwd := 'pwd';
//databaseName := 'mydb';
//collectionName := 'myCollection';

biodata := RECORD
    UTF8 firstname;
    UTF8 lastname;
    INTEGER marks;
END;

dataset({STRING _id, STRING name}) getAll() := EMBED(mongodb : user(user), password(pwd), server(server), database('mydb'),  collection('myCollection'))
    find({});
ENDEMBED; 
OUTPUT(getAll(),named('all_documents'));

The following errors is returned by the compile:- 1.Error: System error: -1: mongodb UNSUPPORTED feature: Unsupported operation: find not supported in MongoDB Embed Helper 1.0.0 Error: Failed to run "hthor --workunit=W20231121-064702 --daliServers=mydali:7070 --config=/etc/config/thor.yaml --queue=thor": process exited with error: 255

2.Another error on ecl watch in the workunit->helpers : **Error: WsWuInfo: Remote Log Access plug-in not available! **

--any **additional packages or settings ** that need to be installed in the system for MongoDB plugin to work and how to install them??

Any leads on fixing this error will be very helpful..

1

There are 1 answers

0
Richard Taylor On

The answer to your first question is right there in the error message: the "find({})" function that you want to use in your embed code is not supported in the MongoDB plugin.

Try replacing that with something else that is supported and see what happens.

For your second question, I don't know of any other plugins that are required to make the MongoDB plugin function.

Take a look at this Wiki article: Interfacing MongoDB in to ECL