gpt4 book ai didi

java - Mongodb异常字符串索引超出范围: -1

转载 作者:太空宇宙 更新时间:2023-11-04 07:16:50 26 4
gpt4 key购买 nike

您好,我在 mongodb 上尝试了一个连接到 mongohq 的程序,但出现以下错误:

Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1958)
at com.mongodb.MongoClientURI.<init>(MongoClientURI.java:186)
at com.mongodb.MongoClientURI.<init>(MongoClientURI.java:138)
at org.Mongoadded.main(Mongoadded.java:15)

我返回的代码是:

package org;

import java.net.UnknownHostException;
import java.util.Set;

import com.mongodb.DB;
import com.mongodb.MongoClient;
import com.mongodb.MongoClientURI;

public class Mongoadded {

public static void main(String args[]) throws UnknownHostException{

String texturi="mongodb://mymail@gmail.com:password@emma.mongohq.com:10045/mongo";
MongoClientURI mongoURI=new MongoClientURI(texturi);
MongoClient mongoclient=new MongoClient(mongoURI);

DB db=mongoclient.getDB("bhv");
db.authenticate(mongoURI.getUsername(), mongoURI.getPassword());

Set<String> colls=db.getCollectionNames();
for(String c:colls){
System.out.println(c);
}
}

我使用的 mongo-java-driver 是 2.10.1 。提前谢谢您

最佳答案

问题似乎出在用户名上:mymail@gmail.com

mongo客户端驱动实际上是依靠@的索引来将认证信息和主机名分开。您的代码甚至没有到达 db.authenticate 部分。它在构造函数 MongoClientURI(texturi)

处失败

关于java - Mongodb异常字符串索引超出范围: -1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19851995/

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