有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

安卓 Mongodb Java cmd find()。不起作用

我让Mongo安装并运行。我有一个问题,在cmd提示符中看不到Mongo客户端中创建的任何数据

我正在使用Mongo3.2.1Java驱动程序和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

我不知道为什么cmd不起作用


共 (1) 个答案

  1. # 1 楼答案

    在MongoShell中,您使用的数据库与程序中的不同

    您正在尝试列出cars数据库中的所有记录。但是收集的carstestdb数据库中

    正确的顺序是:

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

    你会看到你的记录