win7下安装mongoDB数据库

第一步:到 http://www.mongodb.org/downloads 网站去下载对应系统的版本mongoDB数据库,如我下载的

(1)创建一个D:\Program Files\mongoDB目录作为mongoDB的安装的目录,解压下载的数据库包,把整个bin文件复制到mongoDB目录下

(2)在mongoDB目录中创建子目录data,在data目录中创建子目录db,mongoDB的数据库文件默认位于data/db目录,但是它不会自动创建,应此你必须自己来。

(3)接着在data目录中创建子目录log,在log目录下新建一个MongoDB.log文件,用来保存日志文件

(4)打开cmd命令行,定位到D:\Program Files\mongoDB\bin目录,输入命令:mongod --dbpath ../data/db启动mongoDB,注意必须指定数据库文件目录,否则会提示找不到/data/db目录。启动成功后,访问http://localhost:28017/就可以看见mongoDB的控制面板。

(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 

重新安装,现在新的服务名为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的图形化工具


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值