mongoDB导出数据库所有集合内容到json文件
2017-09-06 13:15
507 查看
网上搜了一圈,官方并有提供批量导出所有集合到json文件的方法。有不少脚本可以实现,但是我还是习惯用java,如下
package starcLL.webClient; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; import java.util.Set; import java.util.regex.Pattern; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import org.bson.Document; import org.springframework.stereotype.Component; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import com.mongodb.BasicDBObject; import com.mongodb.MongoClient; import com.mongodb.MongoCredential; import com.mongodb.MongoException; import com.mongodb.ServerAddress; import com.mongodb.client.ListIndexesIterable; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoCursor; import com.mongodb.client.MongoDatabase; @Component public class MongodbClient { private static String starcLL_mongodb_ip="填写你的ip"; private static int starcLL_mongodb_port=填写你的端口; private static String starcLL_mongodb_name="填写你的数据库名"; public static MongoClient mongoClient = null; public static MongoDatabase database = null; public static ServerAddress serverAddress = null; public static MongoCredential credentials = null; public static List<ServerAddress> addressLists = new ArrayList<ServerAddress>(); public static List<MongoCredential> credentialsLists = new ArrayList<MongoCredential>(); public static MongoClient getMongoClient() { if (null == mongoClient) { try { serverAddress = new ServerAddress(starcLL_mongodb_ip, starcLL_mongodb_port); addressLists.add(serverAddress); credentials = MongoCredential.createCredential("数据库", "用户名","密码".toCharArray()); credentialsLists.add(credentials); return new MongoClient(addressLists,credentialsLists); } catch (MongoException e) { System.out.println(e.toString()); } } return mongoClient; } public static void main(String[] args) throws IOException { MongoClient mongoClient=getMongoClient(); Set<String> collectionNames=mongoClient.getDB(starcLL_mongodb_name).getCollectionNames(); MongoDatabase mongoDatabase=mongoClient.getDatabase(starcLL_mongodb_name); System.out.println("开始..."); int i=collectionNames.size(); for (String cName:collectionNames) { JSONArray jsonArray=new JSONArray(); System.out.println("获取集合:"+cName); MongoCursor<Document> cursor = mongoDatabase.getCollection(cName).find().iterator(); try { while (cursor.hasNext()) { jsonArray.add(cursor.next().toJson()); } } finally { cursor.close(); } File txt=new File("C:/Users/Administrator/Desktop/svc/"+i+".json"); if(!txt.exists()){ txt.createNewFile(); } byte bytes[]=new byte[512]; bytes=jsonArray.toString().getBytes(); int b=jsonArray.toString().length(); FileOutputStream fos=new FileOutputStream(txt); fos.write(bytes,0,b); fos.close(); i--; } } }
相关文章推荐
- mongoDB导出数据库所有集合内容到json文件
- 远程从Mongodb 数据库导出数据为json文件
- MongoDB数据库的文件备份恢复以及文件导入导出
- mongodb-导出数据到csv文件或json文件
- 2.非关系型数据库(Nosql)之mongodb:mongodb显示所有数据库,使用数据库,集合创建(显示和隐式创建),集合查询,初步数据的增删改查,分页
- MongoDB数据库的文件备份恢复以及文件导入导出
- mysql,mongodb导出数据库的某几列到CSV文件
- 5.非关系型数据库(Nosql)之mongodb:创建集合,备份与导入导出, 数据还原,导入导出
- MongoDB添加用户,登录命令,查询所有数据库集合命令
- SQLServer将文件下所有的txt内容导入到数据库表
- MongoDB数据库的文件备份恢复以及文件导入导出
- Mongodb导出 Csv 或者 Json 文件
- win 批处理,导出 MongoDB 到 json 文件
- 将PUBS中的所有用户表内容分别用xml文件导出
- MongoDB数据库的文件备份恢复以及文件导入导出
- 5.非关系数据库(Nosql)它mongodb:创建一个集合,导出和导入备份, 数据恢复,进出口
- MongoDB数据库的文件备份恢复以及文件导入导出
- Mongodb(2)创建数据库,删除数据库,创建集合,删除集合,显示文档内容
- 用sqlcmd 和 bcp工具将库中的所有表内容导出到文件中
- MongoDB数据库的文件备份恢复以及文件导入导出