Hi Asma,

It is possible that mongo adapter doesn't fully work with _MAP[] and joins.

Can you please post generated mongo query ?

Regards,
Andrei.

On Tue, Feb 26, 2019 at 11:30 AM asma zgolli <[email protected]> wrote:

> Hello,
>
> I'm getting the following error while executing a join query. the on clause
> seems to be the issue :
>
>
> Command failed with error 16410: 'FieldPath field names may not start with
> '$'.' on server localhost:27017. The full response is { "ok" : 0.0,
> "errmsg" : "FieldPath field names may not start with '$'.", "code" : 16410,
> "codeName" : "Location16410" }
>
> at com.mongodb.connection.ProtocolHelper.getCommandFailureException(
> ProtocolHelper.java:115)
>
> at com.mongodb.connection.CommandProtocol.execute(CommandProtocol.java:114)
>
> at
> com.mongodb.connection.DefaultServer$DefaultServerProtocolExecutor.execute(
> DefaultServer.java:168)
>
> at com.mongodb.connection.DefaultServerConnection.executeProtocol(
> DefaultServerConnection.java:289)
>
> at com.mongodb.connection.DefaultServerConnection.command(
> DefaultServerConnection.java:176)
>
> at
> com.mongodb.operation.CommandOperationHelper.executeWrappedCommandProtocol(
> CommandOperationHelper.java:216)
>
> at
> com.mongodb.operation.CommandOperationHelper.executeWrappedCommandProtocol(
> CommandOperationHelper.java:207)
>
> at
> com.mongodb.operation.CommandOperationHelper.executeWrappedCommandProtocol(
> CommandOperationHelper.java:113)
>
> at com.mongodb.operation.AggregateOperation$1.call(
> AggregateOperation.java:257)
>
> at com.mongodb.operation.AggregateOperation$1.call(
> AggregateOperation.java:253)
>
> at com.mongodb.operation.OperationHelper.withConnectionSource(
> OperationHelper.java:431)
>
> at com.mongodb.operation.OperationHelper.withConnection(
> OperationHelper.java:404)
>
> at com.mongodb.operation.AggregateOperation.execute(
> AggregateOperation.java:253)
>
> at com.mongodb.operation.AggregateOperation.execute(
> AggregateOperation.java:67)
>
> at com.mongodb.Mongo.execute(Mongo.java:836)
>
> at com.mongodb.Mongo$2.execute(Mongo.java:823)
>
> at com.mongodb.OperationIterable.iterator(OperationIterable.java:47)
>
> at
> com.mongodb.AggregateIterableImpl.iterator(AggregateIterableImpl.java:123
> )
>
> at org.apache.calcite.adapter.mongodb.MongoTable$2.enumerator(
> MongoTable.java:145)
>
> the query has the following syntax :
>
>
> SELECT A.*, B._MAP['xxx']
>
> FROM xxxxx A
>
> JOIN yyyyy B
>
> ON A._MAP['zzz']=B._MAP['zzz']
>
>
> is it an issue with apache calcite ?
>
>
>
> thank you very much,
>
> yours sincerely ,
> Asma ZGOLLI
>
> PhD student in data engineering - computer science
>

Reply via email to