首先安装mongodb
?
1.
下载地址:http://www.mongodb.org/downloads
?
2.解压缩到自己想要安装的目录,比如F:\mongodb
?
3.创建文件夹F:\mongodb\db、F:\mongodb\log,分别用来安装db和日志文件,在log文件夹下创建一个日志文件mongodb.log,即d:\mongodb\log\mongodb.log
?
4.运行cmd进入dos命令界面,执行下列命令
?
> cd F:\mongodb\bin
?
> F:\mongodb\bin>mongod -dbpath "F:\mongodb\db"?
默认MongoDB监听的端口是27017
?
5.新开一个cmd窗口,进入mongodb的bin目录,输入mongo或者mongo.exe,如果测试通过,那么我们就已经进入了test这个
数据库。输入exit或者ctrl+C可退出。
?
?6.当mongod.exe被关闭时,mongo.exe 就无法连接到
数据库了,因此每次想使用mongodb数据库都要开启mongod.exe程序,所以比较麻烦,此时我们可以将MongoDB安装为windows服务
?
还是运行cmd,进入bin文件夹,执行下列命令:
?
> F:\mongodb\bin>mongod --dbpath "F:\mongodb\db" --logpath "F:\mongodb\log\MongoDB.log" --install --serviceName "MongoDB"
?
这里MongoDB.log就是开始建立的日志文件,--serviceName "MongoDB" 服务名为MongoDB
?
接着启动mongodb服务
?
> d:\mongodb\bin>NET START MongoDB?
?
打开任务管理器,可以看到进程已经启动
?
7.关闭服务和删除进程
?
> F:\mongodb\bin>NET stop MongoDB ? (关闭服务)
?
> F:\mongodb\bin>mongod --dbpath "F:\mongodb\db" --logpath "F:\mongodb\log\MongoDB.log" --remove --serviceName "MongoDB" ? ? ?(删除,注意不是--install了)
?
8.如果不想每次运行时切换目录,可以将MongoDB的安装路径添加到path中,如案例中的:F:\mongodb\bin
--创建库
use navy
--显示库
show db; show dbs
--创建集合
db.createCollection("mycollection",{"autoIndexID":true}); --可通过db.help()查询具体的使用方式
--显示集合
show collections
--删除集合
db.collection_name.drop();
--添加数据
db.mycollection.insert([{"name":"yc","addr":"湖南益阳"},{"name":"navy","addr":"湖南衡阳"}])
db.mycollection.insert({"_id":1,"company":"yc","url":"www.hyycinfo.com","pageViews":1})
db.mycollection.insert({"_id":2,"company":"ycs","url":"www.hyycinfos.com","pageViews":1})
--save()方法 如果集合中存在,则替换,否则添加
db.mycollection.save({"_id":1,"company":"ycInfo","url":"www.hyycinfo.com","pageViews":1}) --替换
db.mycollection.save({"_id":3,"company":"yc","url":"www.hyycinfo.com","pageViews":1}) --添加
--修改
update() 方法的基本语法如下:
db.COLLECTION_NAME.update(SELECTIOIN_CRITERIA, UPDATED_DATA)
--$inc修改器 将pageViews的值增加1
db.mycollection.update({"_id":1},{"$inc":{"pageViews":1}})
--$set
db.mycollection.update({"_id":2},{"$set":{"pageViews":100,"company":"navy"}})
--将公司改成一个数组
db.mycollection.update({"_id":2},{"$set":{"company":["navy","yc","hg"]}})
--删除company健
db.mycollection.update({"_id":2},{"$unset":{"company":1}})
--数组修改器
--$push添加元素
db.mycollection.update({"_id":2},{"$push":{"company":"sc"}})
--$each添加多个
db.mycollection.update({"_id":2},{"$push":{"company":{"$each":["rc","zr"]}}})
--$slice 要来保证数组的长度
db.mycollection.update({"_id":2},{"$push":{"company":{"$each":["rc","zr","navy","yc","hg"],"$slice":-10}}}) --只保留最后的10个数,$slice的值必须为负
--$ne/$addToSet主要给数组类型键值添加一个元素时,避免在数组中产生重复数据,$ne在有些情况是不通行的。
db.mycollection.update({"_id":2},{$addToSet:{"company":"yc"}}) --不成功
db.mycollection.update({"_id":2},{$addToSet:{"company":"yc1"}}) --成功
--$pop从数组中删除元素{$pop:{"":1}}从数组末尾删除一个元素。{$pop:{"":-1}}从头部删除一个元素
db.mycollection.update({"_id":2},{$pop:{"company":1}})
--$pull从数组中删除所有匹配的元素
db.mycollection.update({"_id":2},{$pull:{"company":"zr"}})
?
?
--$基于位