質問
MongoDBサーバーを起動しました:
[demas@arch.local.net][~]% mongod --dbpatmongod --dbpath /home/demas/temp/
Mon Apr 19 09:44:18 Mongo DB : starting : pid = 4538 port = 27017 dbpath = /home/demas/temp/ master = 0 slave = 0 32-bit
** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data
** see http://blog.mongodb.org/post/137788967/32-bit-limitations for more
Mon Apr 19 09:44:18 db version v1.4.0, pdfile version 4.5
Mon Apr 19 09:44:18 git version: nogitversion
Mon Apr 19 09:44:18 sys info: Linux arch.local.net 2.6.33-ARCH #1 SMP PREEMPT Mon Apr 5 05:57:38 UTC 2010 i686 BOOST_LIB_VERSION=1_41
Mon Apr 19 09:44:18 waiting for connections on port 27017
Mon Apr 19 09:44:18 web admin interface listening on port 28017
コンソールクライアントによるドキュメントを作成しました。
[demas@arch.local.net][~]% mongo
MongoDB shell version: 1.4.0
url: test
connecting to: test
type "help" for help
> db.some.find();
{ "_id" : ObjectId("4bcbef3c3be43e9b7e04ef3d"), "name" : "mongo" }
{ "_id" : ObjectId("4bcbef423be43e9b7e04ef3e"), "x" : 3 }
今、私はJavaのMongodbと仕事をしようとしています:
import com.mongodb.*;
import java.net.UnknownHostException;
public class test1 {
public static void main(String[] args) {
System.out.println("Start");
try {
Mongo m = new Mongo("localhost", 27017);
DB db = m.getDB("test");
DBCollection coll = db.getCollection("some");
coll.insert(makeDocument(10, "James", "male"));
System.out.println("Finish");
}
catch (UnknownHostException ex) {
ex.printStackTrace();
}
catch (MongoException ex) {
ex.printStackTrace();
}
}
public static BasicDBObject makeDocument(int id, String name, String gender) {
BasicDBObject doc = new BasicDBObject();
doc.put("id", id);
doc.put("name", name);
doc.put("gender", gender);
return doc;
}
}
しかし、実行はline coll.insert()で停止します。
[demas@arch.local.net][~/dev/study/java/mongodb]% javac test1.java
[demas@arch.local.net][~/dev/study/java/mongodb]% java test1
Start
受け入れられた接続に関するMoGODBサーバーからのメッセージはありません。なんで?
解決
うーん...
行を変更した場合:
Mongo m = new Mongo("localhost", 27017);
に:
Mongo m = new Mongo();
すべてが正常に動作します。
他のヒント
/etc /hostsファイルを確認して、Localhostが127.0.0.1に解決することを確認してください。
通常、次のような行が含まれます。
127.0.0.1 localhost.localdomain localhost
ローカルホストを変更してみてください 127.0.0.1
. 。大丈夫かもしれません。
所属していません StackOverflow