Java驱动远程连接mongoDB

mongodb默认是不能远程连接的,而且在linux安装完你会发现,它的目录极其简单,连个配置文件都没有. 我的mongodb的版本是3.6,目前最新的.https://www.mongodb.com/mongodb-3.6 

百度了一下看是有配置文件: mongodb.conf. 又检查了下目录确实没有.然后只能自己创建了.

在官方文档找了关于配置文件的介绍: https://docs.mongodb.com/manual/reference/configuration-options/ 

文档很长:
Configuration File 
    File Format 
    Use the Configuration File 
Core Options 
    systemLog Options 
    processManagement Options 
    net Options 
    security Options 
    setParameter Option 
    storage Options 
    operationProfiling Options 
    replication Options 
    sharding Options 
    auditLog Options 
    snmp Options 
    Text Search Options 
    mongos-only Options 
    Windows Service Options

我把与远程连接及log文件有关的标红了, 如果只是修改远程连接, 这几个重点看下就可以.

文件格式

配置文件使用 YAML格式, 应该都见过,没见过自行baidu..

一个简单的配置文件:

复制代码
systemLog:
   destination: file
   #mongod或mongos应发送所有诊断日志信息的日志文件的路径,而不是标准输出或主机的syslog.MongoDB在指定的路径上创建日志文件。
   path: "/home/xxx/mongod.log"
   #追加在文件后边
   logAppend: false
storage:
   #数据库文件存放位置
   dbPath:"/home/xxx/db"
processManagement:
   fork: true
net:
   #绑定所有的ip地址:0.0.0.0
   bindIp: 0.0.0.0
   port: 27017
security:
   authorization: disabled
复制代码

path dbPath 换成你自己的路径,其中mongod.log是存放控制台日志的地方.

启动

使用配置文件启动

mongod --config ./mongod.conf​

mongod -f /etc/mongod.conf​

Java程序

一个超级简单的java程序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import  com.mongodb.MongoClient;
import  com.mongodb.client.MongoDatabase;
import  com.mongodb.client.MongoCollection;
import  org.bson.Document;
 
public  class  QuickTour {
     MongoClient mongoClient;
     
     public  void  connect(){
         mongoClient =  new  MongoClient( "10.80.18.1" );
         MongoDatabase database = mongoClient.getDatabase( "firstDB" );
         MongoCollection<Document> collection = database.getCollection( "firstCollection1" );
         Document myDoc = collection.find().first();
         System.out.println(myDoc.toJson());
     }
     
     public  static  void  main(String[] args) {
         QuickTour quickTour =  new  QuickTour();
         quickTour.connect();
     }
}

输出:

一月 22, 2018 8:15:35 下午 com.mongodb.diagnostics.logging.JULLogger log
信息: Cluster created with settings {hosts=[10.80.18.1:27017], mode=SINGLE, requiredClusterType=UNKNOWN, serverSelectionTimeout='30000 ms', maxWaitQueueSize=500}
一月 22, 2018 8:15:36 下午 com.mongodb.diagnostics.logging.JULLogger log
信息: No server chosen by ReadPreferenceServerSelector{readPreference=primary} from cluster description ClusterDescription{type=UNKNOWN, connectionMode=SINGLE, serverDescriptions=[ServerDescription{address=10.80.18.1:27017, type=UNKNOWN, state=CONNECTING}]}. Waiting for 30000 ms before timing out
一月 22, 2018 8:15:36 下午 com.mongodb.diagnostics.logging.JULLogger log
信息: Opened connection [connectionId{localValue:1, serverValue:1}] to 10.80.18.1:27017
一月 22, 2018 8:15:36 下午 com.mongodb.diagnostics.logging.JULLogger log
信息: Monitor thread successfully connected to server with description ServerDescription{address=10.80.18.1:27017, type=STANDALONE, state=CONNECTED, ok=true, version=ServerVersion{versionList=[3, 6, 2]}, minWireVersion=0, maxWireVersion=6, maxDocumentSize=16777216, roundTripTimeNanos=758049}
一月 22, 2018 8:15:36 下午 com.mongodb.diagnostics.logging.JULLogger log
信息: Opened connection [connectionId{localValue:2, serverValue:2}] to 10.80.18.1:27017
{ "_id" : { "$oid" : "5a631d80070db90c43a3477d" }, "x" : 1.0 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 答:Linux系统可以使用MongoDB的客户端库来连接MongoDB服务器。可以使用MongoDB的shell客户端程序,也可以使用编程语言(如C,Java,Perl,Python等)的MongoDB驱动程序来连接MongoDB服务器。 ### 回答2: 在Linux系统上连接MongoDB,需要先安装MongoDB驱动程序。可以使用命令行方式连接MongoDB或者使用脚本语言(例如Python)编写代码连接。 如果使用命令行连接MongoDB,首先需要在Linux系统上安装MongoDB客户端工具。可以通过在终端中运行以下命令来安装: ``` sudo apt-get update sudo apt-get install mongodb-clients ``` 安装完成后,可以使用以下命令连接MongoDB: ``` mongo --host <hostname> --port <port> --username <username> --password <password> --authenticationDatabase <authenticationDatabase> ``` 其中,<hostname>是MongoDB服务器的主机名或IP地址,<port>是MongoDB服务器的端口号,默认为27017。如果需要身份验证,需要提供<username>和<password>,并且指定<authenticationDatabase>为身份验证数据库的名称。 另一种方式是使用脚本语言连接MongoDB。以Python为例,首先需要安装Python的MongoDB驱动程序,可以使用以下命令安装pymongo库: ``` pip install pymongo ``` 安装完成后,可以使用以下代码连接MongoDB: ```python from pymongo import MongoClient # 创建MongoDB连接 client = MongoClient("<hostname>", <port>) # 选择数据库 db = client["<database>"] # 进行数据库操作 # ... # 断开连接 client.close() ``` 其中,<hostname>和<port>与命令行连接相同。通过指定数据库的名称,可以进行数据库的操作。 无论使用命令行方式还是脚本语言连接MongoDB,在连接前需要确保已经启动了MongoDB服务器,并且提供正确的连接参数。只有正确连接后,才能对MongoDB进行相关操作。 ### 回答3: 在Linux系统上连接MongoDB非常简单。首先,确保系统上已经安装了MongoDB数据库。然后,按照以下步骤进行连接: 1. 打开终端或命令行窗口,输入以下命令以启动MongoDB服务: ``` sudo service mongod start ``` 2. 如果MongoDB服务已经在运行,则可以跳过第一步。 3. 接下来,使用以下命令进入MongoDB shell,连接到MongoDB数据库: ``` mongo ``` 4. 如果MongoDB数据库使用非默认端口(默认端口为27017),可以使用以下命令指定端口号: ``` mongo --port <port_number> ``` 5. 进入MongoDB shell后,可以执行各种数据库操作,如查看集合、插入文档、查询数据等。 6. 若要连接到远程MongoDB数据库,需要提供服务器IP地址和端口号。使用以下命令进行连接: ``` mongo --host <hostname>:<port_number> ``` 通过以上步骤,您就可以在Linux上成功连接到MongoDB数据库了。请注意,确保已经掌握MongoDB的基本命令和语法,以便进行有效的数据库操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值