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程序

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 }

成功!

转发注明出处: http://www.cnblogs.com/jycboy/p/8331019.html

Java驱动远程连接mongoDB(简明易懂版)的更多相关文章

  1. 远程连接mongodb出现 no route to host 和 Connection refused

    部署好mongodb服务器后,在客户端安装好php的mongodb扩展,用程序连接mongodb服务器出错:no route to host.搜索了差不多一天的时候都没有相关的解决方法.最后在mong ...

  2. 远程连接mongodb时,27017端口连接不上的解决办法

    一.背景描述: 我在linux  RED7上安装了mongodb,并没有修改mongodb的配置文件.然后通过另外一台电脑用pymongo连接mongodb时,报错:timeout. ping IP ...

  3. JAVA本地远程连接linux程序监控状态

    环境:  1.本地window 2.程序部署在centos   一,启动访问权限安全守护程序 新建文件:jstatd.all.policy ,注意路径 grant codebase "$JA ...

  4. MongoDB在windows服务器安装部署及远程连接MongoDB

    (.\是表示在服务器的windows powershell下需要 表示信任此命令才会执行不然会报错,自己电脑上使用时可去掉.\) 在本地使用都不需要开启权限而在服务器上需要开启安全模式所以需要在原本的 ...

  5. 解决远程连接MongoDB出现错误

    前言:最近准备学习下MongoDB,安装什么的都已经弄完了,想远程连接来管理MongoDB,用的软件是robo 3t 第一次连的时候就出错误了 大概意思是连接失败,解决如下 第一步,首先检查你的服务器 ...

  6. trove远程连接mongodb

    创建数据库 <pre> [root@a581c7388dca /]# trove database-create e50f3b40-5165-4ccc-af9f-c121089fd902 ...

  7. 第3节 sqoop:7、通过java代码远程连接linux执行shell命令

    数据库的数据同步软件sqoop 数据同步 关系型数据库到大数据平台 任务:sqoop 是批量导入数据太慢,如何做到实时的数据同步 实时的数据同步工具: canal 阿里开源的一个数据库数据实时同步的软 ...

  8. centos7 远程连接mongodb时,27017端口连接不上的解决办法

    一.问题描述:centos 7 上安装mongogdb,然后通过另外一台电脑用pymongo连接mongodb时,报错:连接拒绝 解决过程: 1.修改mongo.conf文件 命令:sudo  vi  ...

  9. Linux远程连接mongodb

    当没有客户端工具,eg:robo3T时,如何修改mongodb里的数据呢? 1.连接mongodb服务器mongo 1.1.1.1:1688 2.查看数据库列表show dbs 3.选择使用log库u ...

随机推荐

  1. 【python】TCP/IP编程

    No1: [TCP] 客户端 import socket s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) s.connect(('www.sina ...

  2. Masquerade strikes back Gym - 101911D (数学)

    Quite often the jury of Saratov SU use the problem "Masquerade" in different practice sess ...

  3. HDU 1175 连连看 (DFS+剪枝)

    <题目链接> 题目大意:在一个棋盘上给定一个起点和终点,判断这两点是否能通过连线连起来,规定这个连线不能穿过其它的棋子,并且连线转弯不能超过2次. 解题分析:就是DFS从起点开始搜索,只不 ...

  4. iOS应用 数据存储方式 (一)

    沙盒是每个应用程序的空间,每个应用程序只能访问自己的文件夹,不可以跨越,访问别的程序的文件夹,这个文件夹就是该应用程序的沙盒. 沙盒中包括以下几个文件夹: 1.应用程序包:(Layer)包含了所有资源 ...

  5. Django 学习第六天——Django模型基础第一节

    一.Django 的 ORM 简介: Django的ORM系统的分析: 1.ORM 概念:对象关系映射(Object Relational Mapping,简称ORM) 2.ORM的优势:不用直接编写 ...

  6. PHP 操作 MySQL 执行数据库事务

    <?php $mysqli=new mysqli();//实例化mysqli $mysqli->connect('localhost','root','admin','test'); if ...

  7. atom那些事儿

    基于electron(Electron 的底层基于Chromium 和node.js)

  8. 狄克斯特拉算法(Python实现)

    概述 狄克斯特拉算法--用于在加权图中找到最短路径 ps: 广度优先搜索--用于解决非加权图的最短路径问题 存在负权边时--贝尔曼-福德算法 下面是来自维基百科的权威解释. 戴克斯特拉算法(英语:Di ...

  9. 【DWM1000】 code 解密1一 去掉Main 函数多余内容

    蓝点DWM1000 模块已经打样测试完毕,有兴趣的可以申请购买了,更多信息参见 蓝点论坛 正文: 室内定位兴起,DWM1000 作为超宽带UWB的代表,在国内用的越来越多,但是可见资料非常少. 一方面 ...

  10. linux 常用命令解压压缩

    tar -zxvf filename.tar.gz // 解包 tar -xvf filename.tar // 解包 tar -zcvf filename.tar.gz target // 制作ta ...