如何在Kotlin中解决MongoDB的套接字连接问题?

时间:2019-08-09 13:20:42

标签: mongodb kotlin

我使用“ net start mongidb”以管理模式成功启动了MongoDB服务器。

我正在用Kotlin作为语言在Android Studio中工作。我添加了库mongo-java-driver-3.11.0-rc0.jar并导入:

import com.mongodb.MongoClient
import com.mongodb.MongoException
import com.mongodb.BasicDBObject

并编写了一个简单的kotlin脚本:

val mongo = MongoClient("localhost", 27017);

运行此命令时,出现此错误(在日志中显示权限被拒绝,而我在admin模式下同时运行mongodb和android studio):

    I/cluster: Cluster created with settings {hosts=[localhost:27017], mode=SINGLE, requiredClusterType=UNKNOWN, serverSelectionTimeout='30000 ms', maxWaitQueueSize=500}
    I/cluster: Exception in monitor thread while connecting to server localhost:27017
    com.mongodb.MongoSocketOpenException: Exception opening socket
    at com.mongodb.internal.connection.SocketStream.open(SocketStream.java:70)
    at com.mongodb.internal.connection.InternalStreamConnection.open(InternalStreamConnection.java:128)
    at com.mongodb.internal.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:117)
    at java.lang.Thread.run(Thread.java:764)
    Caused by: java.net.SocketException: socket failed: ACCES (Permission denied)
at java.net.Socket.createImpl(Socket.java:487)
at java.net.Socket.getImpl(Socket.java:547)
at java.net.Socket.setTcpNoDelay(Socket.java:1007)
at com.mongodb.internal.connection.SocketStreamHelper.initialize(SocketStreamHelper.java:38)
    at com.mongodb.internal.connection.SocketStream.initializeSocket(SocketStream.java:79)
    at com.mongodb.internal.connection.SocketStream.open(SocketStream.java:65)
    at com.mongodb.internal.connection.InternalStreamConnection.open(InternalStreamConnection.java:128)   
    at com.mongodb.internal.connection.DefaultServerMonitor$ServerMonitorRunnable.run DefaultServerMonitor.java:117) 
    at java.lang.Thread.run(Thread.java:764)

0 个答案:

没有答案