Nosql之Mongodb 1 安装配置与基本操作

前端之家收集整理的这篇文章主要介绍了Nosql之Mongodb 1 安装配置与基本操作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

mongodb是什么以及其优缺点这里就不介绍了,这几篇文章目的主要是通过实际操作来认识mongodb

Mongodb安装以及初始化

1 下载地址:http://www.mongodb.org/

2 安装?需要么?超级简单,直接解压就ok啦!!!

3 为了方便使用直接将安装目录下的bin文件夹设置到环境变量中去

4 建立数据库文件存放目录,其实就是建立一个文件夹,比如新建文件夹d:\Mongdb

5 建立一个mongodb的日志文件,比如新建一个文件d:\Mongdo\logs\mongodb.log

6 我们可以将mongodb注册成一个windows服务,这样我们就可以使用net start和net stop来启动和关闭服务了,在windows的CMD下面输入

mongod --dbpath=d:\Mongodb --logpath=d:\Mongodb\logs\mongodb.log

7 启动mongodb服务

net start mongodb

搞定!!!

牛刀小试

我们创建一个叫UserInfo的数据库,并创建users集合(类似于RDBMS中的表),并插入两条记录(Mongodb中叫做document(文档))

首先在cmd下面输入mongo,进入客户端命令行,它是一个js解释器,能够支持javascript语法,比如 for(var i=0; i<10; i++) db.users.save({name:”name”+i,age:i}); 等等等

1) 创建UserInfo数据库

use UserInfo

注:是如果不存在UserInfo这个数据库,它会自动的给我们创建,如果存在当然是直接切换到这个数据库咯,如下图:

2) 创建两条记录user1和user2并插入到users集合中

user1 = {name:”zhangsan”,age:24};

user2 = {name:”lisi”,age:23};

db.users.save(user1);

db.users.save(user2);

---------------------------------------------------------------------------------------------------------------------------

也可以这么写

db.users.save({name:”zhangsan”,age:24});

db.users.save({name:”lisi”,age:23});

---------------------------------------------------------------------------------------------------------------------------

注:这里同样我们不需要预先创建users这个集合,在第一次插入数据时会给我们自动创建

3) 查询刚才我们插入到users集合中的数据

db.users.find();

说明:

存储在mongdb上的每一个document都会有一个默认的主键_id(如果我们不显示的指定的话),如上图。这个_id自动是每个文档所必须的,当然它的类型不一定要是上图的ObjectId,不过主键必须是唯一的。

Mongodb的增删改

新增记录

文章开始已经介绍过了,这里有一点需要注意的就是

db.insert()和db.save()的区别:

-----------------------------------------------------------------------------------------------------------

insert 永远都是插入一条新记录

save 如果不存在此记录则插入,存在则更新

-----------------------------------------------------------------------------------------------------------

先插入一些数据用于测试

db.users.save({name:"lucy",age:23,country:"canada",gender:0});

db.users.save({name:"joe",age:32,country:"american",gender:1});

db.users.save({name:"fanny",age:22,country:"china",gender:0});

db.users.save({name:"royall",age:44,country:"africa",gender:1});

db.users.save({name:"michael",age:25,gender:1});

db.users.save({name:"edgar",age:24,gender:1});

db.users.save({name:"apple",age:39,country:"brazil",gender:0});

db.users.save({name:"bruce",age:51,country:"england",gender:1});

db.users.save({name:"lee",age:12,country:"japan",gender:1});

db.users.save({name:"cang",age:31,gender:0});

db.users.save({name:"hebe",age:33,gender:0});

db.users.save({name:"pig",age:1,country:"pigHouse",gender:0});

db.users.save({name:"kevin",age:48,gender:1});

修改记录

用新的文档替换

db.users.update({“name”:”cang”},{“name”:”hello”,fav: {“favID”:100,“favName”:”football” } } )

修改某个值

修改name为bruce的country为Australia,age为18

db.users.update({“name”:"bruce"},{$set:{“country”:"Australia",“age”:18}})

删除

db.users.update({“name”:”bruce”},{$unset:{“country”:1}})

前面的update操作只会更新匹配到的第一条记录,关于update还有两个参数

update(query,obj,upsert,multi)

upsert指的是如果不存在则进行插入

multi是指更新匹配到的所有文档

删除记录

删除users集合下所有记录

db.users.remove()

删除指定条件的记录

db.users.remove({“name”:”apple”})


此文转自http://www.cnblogs.com/zhaoyang/archive/2012/01/09/2317505.html

猜你在找的NoSQL相关文章