知道nosql这个东西有一段时间了,以前也下载了mongodb玩了一下,由于实际工作并未用到相关内容,很多东西以前研究过一点点,现在有忘记得差不多了,为了学习有点所得,防健忘吧,写点东西记录一下,便于以后查阅,继续研究。
要玩nosql首先得有个研究的环境,mongodb是个不错的实现,去官网下载一个吧,我下载的是mongodb-win32-i386-2.4.6.zip。
解压后会看到下图的目录结构,其中bin目录就是mongodb程序的主目录,mongodb服务全靠它了,其他其他几个文件时mongodb的说明和注意事项,英文的,有时间可以看看。
一、安装
mongodb的安装简单得不能再简单了,找个地方建个文件夹,把解压目录中bin目录的内容全部复制进去就可以了。我在D盘建了一个mongodb目录,把下载解压出来bin目录里面的文件全部复制进来。
二、启动
1、首先建立一个文件夹用来保存数据文件
eg:D:\data\mongodb
2、进入命令行
开始->运行->CMD
3、切换目录到Mongodb的安装目录
cd D:\data\mongodb
4、输入命令mongod --dbpath=D:\data\mongodb启动Mongodb,其中参数--dbpath指定数据文件的存放位置
几秒启动后,在浏览器地址栏输入:http://localhost:27017/会看到如下这句话,说明Mongodb服务已经成功启动。27017为默认启动端口
You are trying to access MongoDB on the native driver port. For http diagnostic access, add 1000 to the port number
然后用新提示的端口进入,在浏览器输入:http://localhost:28017/便会看到Mongodb的一些系统参数和日志。
三、基本操作
再开一个cmd,输入mongo命令打开shell,其实这个shell就是mongodb的客户端,同时也是一个js的编译器,默认连接的是“test”数据库。
注意:其语法接口严格按照bson语法结构格式。
1、插入
下面我们给pserson对象插入姓名和年龄熟悉。
db.person.insert({"name":"jone","age":"20"})
2、查找
a) 查询person对象下面所有值
>db.person.find();
结果: { "_id" : ObjectId("524ef1c408131cfd2aab4cf9"), "name" : "jone", "age" : "20" }
b)按照姓名查询person对象
>db.person.find({"name":"jone"});
结果: { "_id" : ObjectId("524ef1c408131cfd2aab4cf9"), "name" : "jone", "age" : "20" }
3、更新
update的第一组参数为查找条件,第二组参数为对象更新后的值
db.person.update({"name":"jone"},{"age":"30"});
更新结果:{ "_id" : ObjectId("524ef1c408131cfd2aab4cf9"), "age" : "30" }
这样更新后,原来name为jone的实例将变为只有一个属性age=30,不再有那么属性;如果本意为只更新age属性,那么nosql应该这么写:
db.person.update({"name":"jone"},{"name":"jone","age":"30"});
更新结果: "_id" : ObjectId("524ef1c408131cfd2aab4cf9"), "name" : "jone", "age" : "30" }
4、删除
a)删除选择的值
删除person对象name为jone的实例
db.person.remove({"name":"jone"});
b)删除所有
db.person.remove();