我正在使用mongolab
服务并在那里创建了我的帐户,并创建了一个database
。我成功地将本地MongoDB与android集成,现在尝试将我的Android应用程序与mongolab连接,我按照网上提供的初步说明进行操作。我的代码
String textUri = "mongodb://xyz:MyPass_XYZ@ds023288.mongolab.com:23288/sample";
MongoClientURI uri = new MongoClientURI(textUri);
MongoClient m = new MongoClient(uri);
DB d=m.getDB("sample");
DBCollection collection = d.getCollection("mycollection");
但我得到运行时异常
com.mongodb.MongoException:java.lang.NoClassDefFoundError
我研究并发现NoClassDefFounderror
在指定文件不存在时出现。该文件是
com.mongodb.connection.ScramSha1Autheticaor $ ScramSha1SaslClient
我检查了mongoDB
网站,发现他们已升级,新mongo
需要SCRAM-SHA-1 authentication
。 Upgrading Link
我的mongoshell
正在使用mongoversion 3.2.1
,而mongolab版本是3.0.9
。 SCRAM-SHA-1
从3.0
开始,所以这一定不成问题。此外,3.0.9
与3.2.1
兼容。 MongoDB Versions Compatibility
我知道如何解决这个问题。
答案 0 :(得分:0)
其他人处理同样的问题,这就是答案。使用这些Android驱动程序。
重要提示:没有移植驱动程序 - 异步,因为Android上不存在java.nio.channels.AsynchronousSocketChannel
并且不存在任何移植。