目的是通过JAVA连接MongoDB远程服务器:
URL = "jdbc:mongo://" + serverIP + ":"
+ port+ "/" +databaseName;
Class.forName("mongodb.jdbc.MongoDriver");
dbConn = getConnection(URL,mongo1, mongo1);
尝试了Unity_trial.Jar,mongo_version.jar文件,但错误来自 ' mongodb.jdbc.MongoDriver' classNameNotFound。
如果我评论class.forname行,则下一个错误是
URL = "jdbc:mongo://" + serverIP + ":" + port
+ "/" +databaseName;
格式不正确。 不确定我在哪里弄错了。 感谢您的帮助。
答案 0 :(得分:4)
答案 1 :(得分:2)
如果您收到ClassNotFoundException,则问题是包含mongodb.jdbc.MongoDriver
类的jar不在您的类路径中。如果您不确定此课程的JAR是什么,我会建议您获取7-Zip,以便您可以检查jar的内容并亲自查看该课程是否存在。
使用您的方法连接MongoDB的正确方法是:
Class.forName("mongodb.jdbc.MongoDriver");
String URL = "jdbc:mongo://<servername>:<port>/<databaseName>";
Connection jdbcConn = DriverManager.getConnection(url,"user","pass");
但MongoDB并不真正意味着与JDBC一起使用,所以如果你的要求允许,我会建议以“mongodb”的方式获得连接。
MongoClient client = new MongoClient("localhost");
有关如何以这种方式执行此操作的详细信息,请see the MongoDB docs
答案 2 :(得分:1)
我知道回答的时间很晚,但可能会帮助其他人。如果要从 cmd 编译并运行代码,则在编译之前,请为mongo.jar设置类路径,如下所示:
设置classpath = C:\ DemoProject \ java db \ Mongo \ mongo.jar;
然后运行您的代码。
或者如果您使用的是eclipse之类的编辑器,请将此jar添加到您的lib文件夹中。
答案 3 :(得分:0)
我今天早上遇到了这个问题。
关键是缺少mongo-java-driver.jar
。
当我添加jar时,项目可以正常运行。
答案 4 :(得分:0)
如果您正在寻找一个不支持如下所示的本机MongoDb查询的MongoDb JDBC驱动程序,请寻找DbSchema。驱动程序是Open Source on Bitbucket。根据经验,团队会响应所有功能或问题。
Class.forName("com.dbschema.MongoDbJdbcDriver");
Properties properties = new Properties();
properties.put("user", "someuser");
properties.put("password", "somepassword" );
Connection con = DriverManager.getConnection("jdbc:mongodb://host1:9160/keyspace1", properties);
// OTHER URL (SAME AS FOR MONGODB NATIVE DRIVER): mongodb://db1.example.net,db2.example.net:2500/?replicaSet=test&connectTimeoutMS=300000
String query = "db.sampleCollection().find()";
Statement statement = con.createStatement();
ResultSet rs = statement.executeQuery( query );
Object json = rs.getObject(1);
答案 5 :(得分:0)
第一个选项
const data = [
{title: 'a', washday: 'true', cutday: 'false', colorday: 'true', deepconditionday: 'true'},
{title: 'b', washday: 'false', cutday: 'true', colorday: 'false', deepconditionday: 'false'},
{title: 'c', washday: 'true', cutday: 'false', colorday: 'true', deepconditionday: 'true'},
{title: 'd', washday: 'false', cutday: 'false', colorday: 'false', deepconditionday: 'false'}
]
const filterData = (data, isWashDay, isCutDay, isColorDay, isDeepConditionDay)=>{
return data.filter((item)=>{
(isWashDay === 'any' | isWashDay ==== item.washday) &&
(isCutDay === 'any' | isCutDay ==== item.cutday) &&
(isColorDay === 'any' | isColorDay ==== item.colorday) &&
(isDeepConditionDay === 'any' | isDeepConditionDay ==== item.deepconditionday)
})
}
console.log(filterData(data, 'true', 'any', 'any', 'any'))
另一个选项
MongoClient mongoClient = new MongoClient( "1.2.3.4",27017 );
MongoDatabase database = mongoClient.getDatabase(dataBase);
MongoCollection<Document> collection = database.getCollection(DBcollection);