gpt4 book ai didi

java - Mongodb Java cmd find().pretty() 不工作

转载 作者:行者123 更新时间:2023-12-01 09:56:10 25 4
gpt4 key购买 nike

我已经设置并运行了 Mongo。我遇到一个问题,在 cmd 提示符下看不到 Mongo 客户端中创建的任何数据。

我正在使用 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

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

最佳答案

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

您正在尝试列出汽车数据库中的所有记录。但是cars集合位于testdb数据库中。

正确的顺序是:

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

然后您就会看到您的记录。

关于java - Mongodb Java cmd find().pretty() 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37195152/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com