Nosql之Mongodb 1 安装配置与基本操作
mongodb是什么以及其优缺点这里就不介绍了,这几篇文章目的主要是通过实际操作来认识mongodbMongodb安装以及初始化1 下载地址:http://www.mongodb.org/ 2 安装?需要么?超级简单,直接解压就ok啦!!! 3 为了方便使用直接将安装目录下的bin文件夹设置到环境变量中去 4 建立数据库文件存放目录,其实就是建立一个文件夹,比如新建文件夹d:Mongdb 5 建立一个mongodb的日志文件,比如新建一个文件d:Mongdologsmongodb.log 6 我们可以将mongodb注册成一个windows服务,这样我们就可以使用net start和net stop来启动和关闭服务了,在windows的CMD下面输入 mongod --dbpath=d:Mongodb --logpath=d:Mongodblogsmongodb.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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |