JAva初期化mongodbスクリプトファイル


mongoスクリプトデータセットの作成コマンド
mongoTest.sql

db.aa.drop();
db.aa.insert({'name':'cacda', 'other':'avascda'});

一、直接mongo jarを使用して初期化する

package com;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import com.mongodb.DB;
import com.mongodb.Mongo;

public class MongoDBTest {
	public static void initData(){
		String path = MongoDBTest.class.getResource("/conf/mongoTest.sql").getPath();
		InputStream is = null;
		BufferedReader br = null;
		StringBuffer sb = new StringBuffer();
		String temp = "";
		try {
			is = new FileInputStream(path);
			br = new BufferedReader(new InputStreamReader(is,"utf-8"));
			while((temp = br.readLine()) != null){
				sb.append(temp);
			}
			Mongo mongo = new Mongo();
			DB db = mongo.getDB("test");
			db.eval(sb.toString());
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			try {
				if(br != null){
					br.close();
				}
				if(is != null){
					is.close();
				}
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
	public static void main(String[] args) {
		MongoDBTest.initData();
	}
}

二、goggle Morphiaフレームワークの使用

……
@Autowired
private Datastore ds;
……
ds.getDB().eval(code);
……