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

$set fails when setting sub-document as a Map

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major - P3 Major - P3
    • 3.5.0
    • 3.1.0
    • Codecs
    • None

    Description

      If you try to use $set to update a sub-document as a Map, you get:

      Exception in thread "main" org.bson.codecs.configuration.CodecConfigurationException: Can't find a codec for class java.util.HashMap.
      	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.ProvidersCodecRegistry.get(ProvidersCodecRegistry.java:37)
      	at com.mongodb.client.model.BuildersHelper.encodeValue(BuildersHelper.java:35)
      	at com.mongodb.client.model.Updates$SimpleUpdate.toBsonDocument(Updates.java:442)
      	at com.mongodb.MongoCollectionImpl.toBsonDocument(MongoCollectionImpl.java:599)
      	at com.mongodb.MongoCollectionImpl.update(MongoCollectionImpl.java:542)
      	at com.mongodb.MongoCollectionImpl.updateOne(MongoCollectionImpl.java:381)
      	at com.mongodb.MongoCollectionImpl.updateOne(MongoCollectionImpl.java:376)
      

      The attached project will reproduce the failure.

      Attachments

        Activity

          People

            ross@mongodb.com Ross Lawley
            bhunt@nvidia.com Bryan Hunt
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: