一、下载安装mongodb(windows)
下载地址:http://www.mongodb.org/downloads
选择complete是默认安装到:C:\Program Files\MongoDB,或者选custom自定义安装都可以,本文是默认安装。
安装完成后先配置环境,mongodb分为服务端和客户端,现在将服务端安装完成了。
二、客户端配置
随便在一个盘里新建一个文件夹用于保存客户端,例如在F盘下新建mongo文件夹,在此路径下再建db文件夹和log.txt文件,db是用来保存数据库文件的,log.txt是用来记录日志的。
将mongodb服务当做windows服务运行
mongod.exe --bind_ip yourIPadress --logpath "F:\mongo\log.txt" --logappend --dbpath "F:\mongo\db" --port yourPortNumber --serviceName
"YourServiceName" --serviceDisplayName "YourServiceName" --install
参数解释:
- bind_ip:绑定服务IP,若绑定127.0.0.1,则只能本机访问,不指定默认本地所有IP
- logpath:指定mongodb日志文件,注意是文件不是文件夹
- logappend:使用追加日志方式写
- dbpath:指定数据库路径
- port:指定服务端口号,默认端口27017
- serviceName:指定服务名称
- serviceDisplayName:指定服务名称,有多个mongodb服务时执行
- install:指定为一个windows服务安装
此时你Windows系统的服务(右击电脑->管理->服务和应用程序->服务)里就会多出serviceDisplayName
的服务了,点击启动服务,在dos窗口下输入
mongo
即可连接
三、mongodb基本概念
sql类型的数据库和mongodb对比
show dbs查看所有的数据库
> show dbs
admin 0.000GB
local 0.000GB
test 0.000GB
> db
test
> use local
switched to db local
> db
local
创建数据库
现在只有admin/local/test三个数据库,若要新建一个数据库比如a
> use a
switched to db a
> show dbs
admin 0.000GB
local 0.000GB
test 0.000GB
> use a
switched to db a
> db
a
> show dbs
admin 0.000GB
local 0.000GB
test 0.000GB
发现即使可以切换到一个没有的数据库a,但是通过show dbs可以发现数据库a实际并不存在,这是我们执行
> db.col.insert({'name':'hello'})
WriteResult({ "nInserted" : 1 })
> show dbs
a 0.000GB
admin 0.000GB
local 0.000GB
test 0.000GB
可以看到现在出现了数据库a
db.col.insert({'name':'hello'}),是向当前数据库插入一条数据
- db:是默认的,指的是当前的数据库
- col:为数据集
- {"name":"hello"}:为文档
删除数据库
例如我么要删除a数据库,首先use a切换大数据库a,再执行db.dropDatabase()命令
> use a
switched to db a
> db
a
> db.dropDatabase()
{ "dropped" : "a", "ok" : 1 }
> show dbs
admin 0.000GB
local 0.000GB
test 0.000GB
>
删除数据集
db.collectionname.drip(),collectionname为你要删除数据集的名字,返回的是一个boolean值,true表示成功。例如删除col数据集
> db.col.drop()
true
四、插入
插入的是一个文档相当于sql类数据库的一条记录,文档其实就相当于一个json对象。
例:向test数据库的col数据集插入{"name":"miracle","age":21},如果数据集col不存在,mongo则会自动创建
> use test
> db.col.insert({"name":"miracle","age":21})
WriteResult({ "nInserted" : 1 })
db.col.find()查看当前数据集的所有文档
> db.col.find()
{ "_id" : ObjectId("5861314dfae6987dfa620362"), "name" : "miracle", "age" : 21 }
db.col.update({'age':21},{$set:{'name':'zcw'}})
- {‘age’:21}:为更新条件,这里就是更新域age等于21的
- {$set:{'name':'zcw'}}:{'name':'zcw'}为更新的内容
> db.col.find()
{ "_id" : ObjectId("5861314dfae6987dfa620362"), "name" : "miracle", "age" : 21
> db.col.update({'age':21},{$set:{'name':'zcw'}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.col.find()
{ "_id" : ObjectId("5861314dfae6987dfa620362"), "name" : "zcw", "age" : 21 }
看两次db.col.find()的结果
六、删除
db.collectionname.remove({'name':'zcw'})
- {'name':'zcw'}:为删除的条件也是一个文档
> db.col.remove({'name':'zcw'})
WriteResult({ "nRemoved" : 1 })
db.collectionname.find({'name':''zcw}).pretty()
- {'name':'zcw'}:为筛选条件
- .pretty():将会以更清晰的格式显示结果
好了最基本的增删查改完事了