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 >
