mongodb默认是不能远程链接的,并且在linux安装完你会发现,它的目录极其简单,连个配置文件都没有. 个人mongodb的版本是3.6,目前最新的.https://www.mongodb.com/mongodb-3.6 html
百度了一下看是有配置文件: mongodb.conf. 又检查了下目录确实没有.而后只能本身建立了.java
在官方文档找了关于配置文件的介绍: https://docs.mongodb.com/manual/reference/configuration-options/ linux
文档很长:
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 Optionsmongodb
我把与远程链接及log文件有关的标红了, 若是只是修改远程链接, 这几个重点看下就能够.数据库
配置文件使用 YAML格式, 应该都见过,没见过自行baidu..ui
一个简单的配置文件:spa
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
是存放控制台日志的地方.日志
使用配置文件启动code
mongod --config ./mongod.conform
或
mongod -f /etc/mongod.conf
一个超级简单的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 }
成功!