org.bson.codecs.configuration.CodecConfigurationException: Can't find a codec for class [Ljava.lang.String;
<p>I want to run the following command to create a user with MongoDB Java Driver,</p>

<pre><code>    client = new MongoClient(mongoClientURI);
    MongoDatabase database = client.getDatabase("db_1");

    Document createUserCommand = new Document();
    createUserCommand.put("createUser", "abc");
    createUserCommand.put("pwd", "abc");
    createUserCommand.put("roles", new String[]{"userAdmin", "read", "readWrite", "dbAdmin", "dbOwner"});         database.runCommand(createUserCommand);
</code></pre>

<p>But following exception occurred:</p>

<pre><code>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.encode(DocumentCodec.java:131)
    at org.bson.codecs.DocumentCodec.encode(DocumentCodec.java:45)
    at org.bson.codecs.BsonDocumentWrapperCodec.encode(BsonDocumentWrapperCodec.java:63)
</code></pre>

<p>Looks the roles field which is an array leads to this problem, can some take a look at this problem? Thanks</p>