2016-05-12 11 views
0

私はMongoをセットアップして実行しています。私はcmdのプロンプトでMongoクライアントに作成されているデータが見えないという問題があります。Mongodb Java cmd find()。pretty()not working

私はMongo 3.2.1 JavaドライバとAndroid Studioを使用しています。

私はポート、アドレス、および作業を接続しました。以下のコードを使用してデータベースとコレクションを作成します。しかし、データを保存すると保存されません(時にはうまく動作しない場合もあります)。理由はわかりません。

MongoClient mongoClient = new MongoClient("xxx.xxx.x.x", xxxxx); 
    MongoDatabase database = mongoClient.getDatabase("testdb"); 

    try { 

     database.createCollection("cars"); 
    } catch (MongoCommandException e) { 

     database.getCollection("cars").drop(); 
    } 

    List<Document> writes = new ArrayList<>(); 

    MongoCollection<Document> carsCol = database.getCollection("cars"); 

    Document d1 = new Document("_id", 1); 
    d1.append("name", "Audi"); 
    d1.append("price", 52642); 
    writes.add(d1); 

    Document d2 = new Document("_id", 2); 
    d2.append("name", "Mercedes"); 
    d2.append("price", 57127); 
    writes.add(d2); 

    Document d3 = new Document("_id", 3); 
    d3.append("name", "Skoda"); 
    d3.append("price", 9000); 
    writes.add(d3); 

    Document d4 = new Document("_id", 4); 
    d4.append("name", "Volvo"); 
    d4.append("price", 29000); 
    writes.add(d4); 

    Document d5 = new Document("_id", 5); 
    d5.append("name", "Bentley"); 
    d5.append("price", 350000); 
    writes.add(d5); 

    Document d6 = new Document("_id", 6); 
    d6.append("name", "Citroen"); 
    d6.append("price", 21000); 
    writes.add(d6); 

    Document d7 = new Document("_id", 7); 
    d7.append("name", "Hummer"); 
    d7.append("price", 41400); 
    writes.add(d7); 

    Document d8 = new Document("_id", 8); 
    d8.append("name", "Volkswagen"); 
    d8.append("price", 21600); 
    writes.add(d8); 

    carsCol.insertMany(writes); 


    MongoIterable<String> dbs = mongoClient.listDatabaseNames(); 
    System.out.println("The Following are your Databases!"); 
    for(String checkDBS : dbs){ 
     System.out.println(checkDBS); 
    } 

    mongoClient.close(); 

} 

上記を実行した後、データを照会してチェックしますが、何もしないようです。時にはそれが表示され、時にはコマンドは何もしません。 ======================================を更新し

Cmd

=============================================

実際にはデータを保存しますが、私はまだcmdを使用してクエリーできませんが、Javaでクエリを実行しようとしました。

iterable.forEach(new Block<Document>() { 
     @Override 
     public void apply(final Document document) { 
      System.out.println(document); 
     } 
    }); 

enter image description here

Iを働きましたなぜcmdが動作しないのか分かりません。

+0

コレクションが空ではありませんか? – rummykhan

+0

その空きだが時にはデータを保存するのは – user3650234

+0

申し訳ありませんが、私は完全に質問を読んでいませんでした。ちょうど今読んでいます.URLコードは大丈夫です。挿入したくないのですか? – rummykhan

答えて

1

MongoShellでは、あなたのプログラムとは異なるDBを使用しています。

台の車のすべてのレコードを一覧表示しようとしています。しかし、コレクションtestdbデータベースにあります。

use testdb 
db.cars.find().pretty() 

、あなたはあなたの記録が表示されます:

適切な順序です。

+0

あなたの答えはありがたいです、私は昨日私の間違いを認識しました。 「使用」はデータベースのみを参照します。それが他人を助けてくれることを願って、私は新しいユーザーを助けることができるようにMongoには新しいです。 – user3650234