Java获取mongo所有的collection及collection column/field名称
下列为获取mongodb中所有的collection(table)和 column(field)名称的java实现。已测试通过。我这里获取连接是用的getURL().具体的连接写法参见之前的连接mongodb的三种方式。
public void getMongoCollectionsAndFields() {
MongoClient mongoClient = new MongoClient(new MongoClientURI(getURL()));
MongoDatabase db = mongoClient.getDatabase(db_name);
MongoIterable<Document> collections = db.listCollections();
for (Document collectionname : collections) {
System.out.println(collectionname);
String table_name = collectionname.getString("name");
MongoCollection<Document> collection = db.getCollection(table_name);
if (!table_name.contains("system.views")) {
Document doc = collection.find().first();
if (doc == null)
return;
for (Map.Entry<String, Object> entry : doc.entrySet()) {
if (!entry.getKey().startsWith("_")) {
System.out.println(entry.getKey() + " " + entry.getValue());
}
}
}
}
mongoClient.close();
}

浙公网安备 33010602011771号