剛剛安裝好了 mongodb 。對(duì)著 mongodb in action上的例子敲了下面的代碼:
?
public class TestDBConnect { @Test public void testdb() { MongoClient mongoClient = null; try { mongoClient = new MongoClient("xx.xx.xx.xx", 27017); } catch (UnknownHostException e) { // TODO Auto-generated catch block e.printStackTrace(); } DB db = mongoClient.getDB("crawler"); DBCollection coll = db.getCollection("sites"); DBObject doc = new BasicDBObject(); String[] tags = { "database", "open-source" }; doc.put("url", "org.mongodb"); doc.put("tags", tags); DBObject attrs = new BasicDBObject(); attrs.put("lastAddress", new Date()); attrs.put("pingtime", 20); doc.put("attrs", attrs); coll.insert(doc); System.out.println("Initial document:n"); System.out.println(doc.toString()); System.out.println("updating pingtime...n"); coll.update(new BasicDBObject("_id", doc.get("_id")), new BasicDBObject("$set", new BasicDBObject("pingtime", "30"))); DBCursor cursor = coll.find(); System.out.println("After updaten"); System.out.println(cursor.next().toString()); System.out.println("Number of site documents:" + coll.count()); System.out.println("Removing documents..."); coll.remove(new BasicDBObject()); } }
上面服務(wù)器的IP 用XX.XX.XX.XX隱去了,運(yùn)行之后報(bào)了錯(cuò):
?
九月 20, 2013 10:19:52 上午 com.mongodb.DBTCPConnector initDirectConnection
警告: Exception executing isMaster command on localhost/xx.xx.xx.xx:27017
java.net.ConnectException: Connection refused: connect
說白了就是連接不上。
說明一下網(wǎng)絡(luò)情況:
安裝了mongodb的是一臺(tái)Linux服務(wù)器,IP是aa.bb.cc.dd,本機(jī)運(yùn)行java程序去鏈接。
接下來我又嘗試了,在本機(jī)上運(yùn)行mongo客戶端 使用
mongo aa.bb.cc.dd來連接,同樣失敗。
不死心,ssh到服務(wù)器上,使用mongo aa.bb.cc.dd來連接,失敗,我擦!
不加IP,或者使用mongo 127.0.0.1 可以連接上,到這兒我基本猜出了問題的原因了,mongodb的數(shù)據(jù)庫實(shí)例被綁定到了127.0.0.1這個(gè)IP了,使用外網(wǎng)IP無法訪問。
打開/etc/mongodb.conf.
bind_ip = 127.0.0.1這一行替換為
bind_ip = aa.bb.cc.dd。重新運(yùn)行上面的代碼,測(cè)試通過。
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
