mongodb安装与简单的增删改查

MongoDB 是目前在IT行业非常流行的一种非关系型数据库(NoSql),其灵活的数据存储方式备受当前IT从业人员的青睐。这里主要讲如何在windows平台下安装MongoDB。

工具/原料

  • mongodb-win32-x86_64-2008plus-2.6.7.zip

方法/步骤

  1. 登陆mongodb官网点击右侧的下载

    windows下MongoDB的安装及配置
  2. 选择windows平台,如图点击需要的zip文件下载(笔者这里主要讲诉zip文件的安装)

    legacy版本可以用于旧版本系统下安装,这里不推荐。

    windows下MongoDB的安装及配置
  3. 将zip文件解压放到盘符的根目录(如C:或D:),为了方便建议文件夹命名尽量简短如(d:\mongodb)

    windows下MongoDB的安装及配置
  4. 创建数据库文件的存放位置,比如d:/mongodb/data/db。启动mongodb服务之前需要必须创建数据库文件的存放文件夹,否则命令不会自动创建,而且不能启动成功。

    windows下MongoDB的安装及配置
  5. 打开cmd(windows键+r输入cmd)命令行,进入D:\mongodb\bin目录(如图先输入d:进入d盘然后输入cd d:\mongodb\bin),

    输入如下的命令启动mongodb服务:

    D:/mongodb/bin>mongod --dbpath D:\mongodb\data\db

    windows下MongoDB的安装及配置
  6. mongodb默认连接端口27017,如果出现如图的情况,可以打开http://localhost:27017查看(笔者这里是chrome),发现如图则表示连接成功,如果不成功,可以查看端口是否被占用。

    windows下MongoDB的安装及配置
    windows下MongoDB的安装及配置
  7. 其实可以将MongoDB设置成Windows服务,这个操作就是为了方便,每次开机MongoDB就自动启动了。

    如图在d:\mongodb\data下新建文件夹log(存放日志文件)并且新建文件mongodb.log

    在d:\mongodb新建文件mongo.config

    windows下MongoDB的安装及配置
    windows下MongoDB的安装及配置
  8. 用记事本打开mongo.config输入:

    dbpath=D:\mongodb\data\db

    logpath=D:\mongodb\log\mongo.log  

    windows下MongoDB的安装及配置
  9. 管理员身份打开cmd命令行,进入D:\mongodb\bin目录,输入如下的命令:

    D:\mongodb\bin>mongod --config D:\mongodb\mongo.config 

    如图结果存放在日志文件中,查看日志发现已经成功。如果失败有可能没有使用管理员身份,遭到拒绝访问。

    windows下MongoDB的安装及配置
    windows下MongoDB的安装及配置
  10. 打开cmd输入services.msc查看服务可以看到MongoDB服务,点击可以启动。

    windows下MongoDB的安装及配置
    windows下MongoDB的安装及配置
    windows下MongoDB的安装及配置


mongodb成功启动,接下来就该进行一系列操作了。我们再开一个cmd,输入【mongo】命令打开shell即mongodb的客户端,默认连接的是“test”数据库,我这里设置集合(表)为student。图一:

\


1. 添加insert


语法:db.集合.insert({“Col1”:”列值1”,”Col2”:”列值2”,…,”Coln”:”列值n”})


2. 查找find


2.1全部查询


语法:db.集合.find()


2.2条件查询


语法:db.集合.find({“Col1”:”列值1”,”Col2”:”列值2”,…,”Coln”:”列值n”})


操作示例:添加+查找

\

注意:“_id"这个字段是数据库默认给我们加的GUID,目的是保证数据的唯一性。


3.修改


3.1全部修改update


语法:db.集合.update({“Col”:”列值”},{”Col2”:”列值2”,…,”Coln”:”列值n”})


注意:


第一个参数{…}为“查找的条件”,第二个参数{…}为“要更新的值”;
Update()为全部修改,第二个参数中需要包含全部的”字段”,否则更新后会造数据的丢失,具体影响请见下图示例。

操作示例:全部修改+错误实例

\



3.2.局部修改


Mongodb中为局部修改提供了两个修改器: $inc 和 $set。


① $inc修改器
$inc即increase的缩写,自增$inc指定的值,如果“文档”中没有此key,则会创建key。

语法:db.集合.update({"col1":"列值1"},{$inc:{"col2":"列值2",...,"coln":"列值n"}}

② $ set修改器

直接将对应的数据替换为$set指定的值。

语法:db.集合.update({"col1":"列值1"},{$set:{"col2":"列值2",...,"coln":"列值n"}})

操作示例:局部修改+高级修改

\


3.3 upsert操作


Upsert=update+insert,智能判断更新或添加,所以我更愿意称之为高级修改。也就是说:如果查到了文档直接更新,否则在数据库里面新增一条。 将update的第三个参数设为true即可。操作示例见上图。


语法:db.集合.update({"Col":"列值"},{$inc:{"Col2":"列值2",…,"Coln":"列值n"}},true)


3.4批量修改


在前面几个的基础上进行改进,不在多做解释。
语法:db.集合.update({"Col":"列值"},{$inc:{"Col2":"列值2",…,"Coln":"列值n"}},true,true)

操作示例:批量修改

\


4.删除remove


语法:db.集合.remove()
db.集合.remove({"Col":"列值"},{"Col2":"列值2",…,"Coln":"列值n"})

操作示例:删除

\


(5~6为高级操作,不做详细介绍)


5.分组查询group

操作示例:分组查找

\


6.除重distinct
7.统计count

操作示例:除重+统计

\

以上是我操作后的实例分享,再次操作一遍感觉收获的更多。还记得刚开始动手操作的时候,关于修改部分只接触了全部修改,当时那时候还以为跟其他数据库操作一样修改就是一个update()方法,所以实践的时候就直接进行了部分修改,后果就像图中显示的一样造成了数据丢失。当时还在想“不会吧,难道只修改一两个字段还要把所有的都写上吗?这也太麻烦了吧。。。”,后来跟旁边的大神周响师哥讨论他告诉我mongodb修改有两种方法也就是上文提到的mongodb专门封装的部分修改的方法。当时貌似当时走了弯路,不过现在想想真的是弯路吗?





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值