win7下安裝mongoDB數據庫

第一步:到 http://www.mongodb.org/downloads 網站去下載對應系統的版本mongoDB數據庫,如我下載的java

(1)建立一個D:\Program Files\mongoDB目錄做爲mongoDB的安裝的目錄,解壓下載的數據庫包,把整個bin文件複製到mongoDB目錄下mongodb

(2)在mongoDB目錄中建立子目錄data,在data目錄中建立子目錄db,mongoDB的數據庫文件默認位於data/db目錄,可是它不會自動建立,應此你必須本身來。數據庫

(3)接着在data目錄中建立子目錄log,在log目錄下新建一個MongoDB.log文件,用來保存日誌文件windows

(4)打開cmd命令行,定位到D:\Program Files\mongoDB\bin目錄,輸入命令:mongod --dbpath ../data/db啓動mongoDB,注意必須指定數據庫文件目錄,不然會提示找不到/data/db目錄。啓動成功後,訪問http://localhost:28017/就能夠看見mongoDB的控制面板。app

(5)將mongoDB安裝成windows服務工具

 使用管理員身份打開cmd,定位到D:\Program Files\mongoDB\bin目錄,輸入mongod --logpath "D:\Program Files\mongoDB\data\log\MongoDB.log" --logappend --dbpath "D:\Program Files\mongoDB\data\db" --directoryperdb --reinstall開發工具

執行成功後:默認的服務名爲MongoDB,可使用net start MongoDB命令來啓動MongoDB數據庫了。要中止,使用net stop MongoDB。測試

若是你想要自定義一個服務名,能夠先用mongod --logpath "D:\Program Files\mongoDB\data\log\MongoDB.log" --logappend --dbpath "D:\Program Files\mongoDB\data\db" --directoryperdb --remove 來刪除服務網站

接着使用:mongod --logpath "D:\Program Files\mongoDB\data\log\MongoDB.log" --logappend --dbpath "D:\Program Files\mongoDB\data\db" --directoryperdb --serviceName mongodb --reinstall ui

從新安裝,如今新的服務名爲mongodb

以上是win7環境下安裝mongoDB的過程

第二步:接下來,咱們能夠在咱們的開發工具中,測試mongoDB的crud

新建一個java工程,導入mongo-2.2.jar包

建一個測試類

package main.mongoDB;


import com.mongodb.*;
import org.bson.types.ObjectId;


import java.net.UnknownHostException;


/**
 * mongoDB的crud
 * User: libin
 * Date: 13-1-4
 * Time: 下午5:05
 * To change this template use File | Settings | File Templates.
 */
public class MongodbTest {
    private Mongo mg = null;
    private DB db;
    private DBCollection users;


    /**
     * 初始化
     * TODO
     */
    public void init(){
        try {
            mg=new Mongo("127.0.0.1",27017);
        } catch (UnknownHostException e) {
            e.printStackTrace();
        }catch (MongoException e) {
            e.printStackTrace();
        }
        //獲取temp DB 若是默認沒有 會自動建立
        db=mg.getDB("temp");
        //獲取users Collection 若是默認沒有 會自動建立
        users=db.getCollection("users");


        System.out.println("全部數據庫名:"+mg.getDatabaseNames());
        System.out.println("全部數據庫名:"+mg.getDB("users"));






    }


    /**
     * 銷燬
     * TODO
     */
    public void destory(){
        if(mg!=null){
            mg.close();
        }
        mg=null;
        db=null;
        users=null;
        System.gc();


    }
    /**
     * <b>function:</b> 查詢全部數據
     * @author cuiran
     * @createDate 2012-12-11 09:24:11
     */
    public void queryAll(){
        print("查詢users的全部數據");
        //Db遊標
        DBCursor cur=users.find();
        while(cur.hasNext()){
            print(cur.next());
        }
    }


    /**
     *
     *<b>function:</b>添加數據
     * @author cuiran
     * @createDate 2012-12-11 09:25:23
     */
    public void add(){
        queryAll();


        print("count:"+users.count());
        DBObject user=new BasicDBObject();
        user.put("name", "libin");
        user.put("age", 23);


       //users.save(user);
       //print(users.save(user).getN());


        user.put("sex", "男");
        print(users.save(user).getN());




        print("count:"+users.count());
        queryAll();


    }


    /**
     * 更新數據
     */


    public void update(){
        queryAll();
        BasicDBObject old_obj = new BasicDBObject();
        old_obj.put("name", "mark");
        old_obj.put("age", 23);
        old_obj.put("sex", "女");
        users.insert(old_obj);
        //這裏的new_val對象必定要是find出的而不是new的,不然多字段的狀況下就會丟失其它字段信息
        DBObject new_val = users.findOne(old_obj);
        new_val.put("name", "zhoulong");
        /**這裏只能修改一條知足條件的記錄,並且根據API用updateMulti方法或者設置update第四個參數也無效,
         * 若是要批量跟新就要查詢後,循環遍歷更新了
         */
        users.update(old_obj, new_val);
        queryAll();
    }
    /**
     *
     *<b>function:</b>刪除數據
     * @author cuiran
     * @createDate 2012-12-11 09:38:12
     */
    public void remove(){
        queryAll();
        print("刪除id = 50e6a41f68bfaf2e2ecdf1f9:" + users.remove(new BasicDBObject("_id", new ObjectId("50e6a41f68bfaf2e2ecdf1f9"))).getN());
        queryAll();
    }


    public void print(Object o){
        System.out.println(o);
    }




    public void start(){
        init();
        //add();
        remove();
        update();
        destory();


//       queryAll();




    }


    /**
     * TODO
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        MongodbTest t=new MongodbTest();
        t.start();
    }
}

 

啓動mongoDB服務的前提下,能夠測試了

 

最後,在介紹一個mongoDB的圖形化工具

後續有不少開發填坑的文章發佈,若是對你有幫助,請支持和加關注一下

http://e22a.com/h.05ApkG?cv=AAKHZXVo&sm=339944

https://shop119727980.taobao.com/?spm=0.0.0.0 

相關文章
相關標籤/搜索