Uploaded image for project: 'Java Driver'
  1. Java Driver
  2. JAVA-1894

Can't find a codec for class [Ljava.lang.String;

    • Type: Icon: Task Task
    • Resolution: Done
    • Priority: Icon: Minor - P4 Minor - P4
    • None
    • Affects Version/s: 3.0.2
    • Component/s: Codecs
    • Labels:
      None
    • Environment:
      ubuntu x64, java 8

      Following the aggregation example
      http://docs.mongodb.org/getting-started/java/aggregation/
      I have tried to make a similar operation on my set of documents.
      The only difference is that I tried to use $in in the $match clause.
      The same operation in the shell works
      db.getCollection('test').aggregate([ {"$match": {"code":

      {"$in":["1111", "2223344"]}

      }}]);

      using the driver it looks like this
      String[] codes =

      {"1112233", "2223344"}

      ;
      AggregateIterable<Document> iterable = db.getCollection("test").aggregate(asList(
      new Document("$match", new Document("code", new Document("$in", codes)))));

      however it fails with
      Exception in thread "main" org.bson.codecs.configuration.CodecConfigurationException: Can't find a codec for class [Ljava.lang.String;.
      at org.bson.codecs.configuration.CodecCache.getOrThrow(CodecCache.java:46)
      at org.bson.codecs.configuration.ProvidersCodecRegistry.get(ProvidersCodecRegistry.java:63)
      at org.bson.codecs.configuration.ChildCodecRegistry.get(ChildCodecRegistry.java:51)
      at org.bson.codecs.DocumentCodec.writeValue(DocumentCodec.java:174)
      at org.bson.codecs.DocumentCodec.writeMap(DocumentCodec.java:189)
      at org.bson.codecs.DocumentCodec.writeValue(DocumentCodec.java:172)
      at org.bson.codecs.DocumentCodec.writeMap(DocumentCodec.java:189)
      at org.bson.codecs.DocumentCodec.writeValue(DocumentCodec.java:172)
      at org.bson.codecs.DocumentCodec.writeMap(DocumentCodec.java:189)
      at org.bson.codecs.DocumentCodec.encode(DocumentCodec.java:131)
      at org.bson.codecs.DocumentCodec.encode(DocumentCodec.java:45)
      at org.bson.BsonDocumentWrapper.getUnwrapped(BsonDocumentWrapper.java:189)
      at org.bson.BsonDocumentWrapper.get(BsonDocumentWrapper.java:129)
      at com.mongodb.AggregateIterableImpl.execute(AggregateIterableImpl.java:118)
      at com.mongodb.AggregateIterableImpl.forEach(AggregateIterableImpl.java:107)
      at AggregationTest.main(AggregationTest.java:27)

            Assignee:
            Unassigned Unassigned
            Reporter:
            stas.smirnov Stanislav
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: