gpt4 book ai didi

mongodb - org.bson.codecs.configuration.CodecConfigurationException : Can't find a codec for class [Ljava. lang.String;

转载 作者:可可西里 更新时间:2023-11-01 10:02:45 63 4
gpt4 key购买 nike

我想运行以下命令来使用 MongoDB Java 驱动程序创建用户,

    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);

但是出现了以下异常:

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)

看是数组的roles字段导致了这个问题,有大神看看这个问题吗?谢谢

最佳答案

createUserCommand.put("roles", new String[]{"userAdmin", "read", "readWrite", "dbAdmin", "dbOwner"});
database.runCommand(createUserCommand);

应该是

List<String> roles = new ArrayList<String>(); 
roles.add("userAdmin); ... createUserCommand.put("roles", roles); database.runCommand(createUserCommand);

貌似支持List,不支持Array,真丑

关于mongodb - org.bson.codecs.configuration.CodecConfigurationException : Can't find a codec for class [Ljava. lang.String;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40758098/

63 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com