日期:2014-05-16 浏览次数:20668 次
如今NoSql这么火热,假期闲来无事也来凑凑热闹,多学点儿是点儿,好处肯定有,坏处肯定没。。。。
选了大家谈论最多的mongodb来学习,先去www.mongodb.org 下载,安装就直接解压到你就好了。
假设windows 32bit机,建立目录D:\mongodb?? 把压缩包bin目录下的exe全部放到mongodb目录下,然后建立一个data文件夹(D:\mongodb\data) 这个data目录就是用来存放数据的,默认是C盘data\db目录。
bin目录下的
mongod.exe - 数据库服务器.
mongo.exe - 管理员shell
当我们使用自定义的数据存储文件目录D:\mongodb\data时,使用cmd 进入D:\mongdodb目录
输入mongod --dbpath D:\mongodb\data用来启动时指定数据存储目录。
然后运行mongo.exe就行了。
使用help命令就可以查看所有想要得到的命令。
?
下面进入开发学习阶段:
?
其实我真的很想就复制粘贴官网的文档,因为真的很容易懂,都懒得翻译写出来了,唉。。。。。
启动之后,将看到
By default the shell connects to database "test" on localhost.? You then see:
MongoDB shell version: <whatever> url: test connecting to: test type "help" for help >?
"connecting to: " 显示了正在连接和使用的数据库。想要使用其它库, 键入:
> use mydb switched to db mydb?
用use命令切换数据库并不能立即创建数据库,数据库将在第一次插入数据时延迟创建。可以使用show dbs查看数据库。
下面的shell命令,创建了两个对象j和t,并把它们存入sha0k集合中,K-V,就像map一样,称它集合,不为过吧。
> j = { name : "mongo" }; {"name" : "mongo"} > t = { x : 3 }; { "x" : 3 } > db.sha0k.save(j); > db.sha0k.save(t); > db.sha0k.find(); { "_id" : ObjectId("4f2167ee......"), "name" : "mongo" } { "_id" : ObjectId("4f2168f....."), "x" : 3 } >
?对象Id太长了,我没写完,然后再使用show dbs就可以看到mydb已经在数据库列表中了,库创建完成。
?有几点是需要注意的(我是真的懒得翻译了,见谅):
一次添加多个对象:
> for (var i = 1; i <= 20; i++) db.sha0k.save({x : 4, j : i}); > db.sha0k.find(); { "_id" : ObjectId("4c2209f9f3924d31102bd84a"), "name" : "mongo" } { "_id" : ObjectId("4c2209fef3924d31102bd84b"), "x" : 3 } { "_id" : ObjectId("4c220a42f3924d31102bd856"), "x" : 4, "j" : 1 } { "_id" : ObjectId("4c220a42f3924d31102bd857"), "x" : 4, "j" : 2 } { "_id" : ObjectId("4c220a42f3924d31102bd858"), "x" : 4, "j" : 3 } { "_id" : ObjectId("4c220a42f3924d31102bd859"), "x" : 4, "j" : 4 } { "_id" : ObjectId("4c220a42f3924d31102bd85a"), "x" : 4, "j" : 5 } { "_id" : ObjectId("4c220a42f3924d31102bd85b"), "x" : 4, "j" : 6 } { "_id" : ObjectId("4c220a42f3924d31102bd85c"), "x" : 4, "j" : 7 } { "_id" : ObjectId("4c220a42f3924d31102bd85d"), "x" : 4, "j" : 8 } { "_id" : ObjectId("4c220a42f3924d31102bd85e"), "x" : 4, "j" : 9 } { "_id" : ObjectId("4c220a42f3924d31102bd85f"), "x" : 4, "j" : 10 } { "_id" : ObjectId("4c220a42f3924d31102bd860"), "x" : 4, "j" : 11 } { "_id" : ObjectId("4c220a42f3924d31102bd861"), "x" : 4, "j" : 12 } { "_id" : ObjectId("4c220a42f3924d31102bd862"), "x" : 4, "j" : 13 } { "_id" : ObjectId("4c220a42f3924d31102bd863"), "x" : 4, "j" : 14 } { "_id" : ObjectId("4c220a42f3924d31102bd864"), "x" : 4, "j" : 15 } { "_id" : ObjectId("4c220a42f3924d31102bd865"), "x" : 4, "j" : 16 } { "_id" : ObjectId("4c220a42f3924d31102bd866"), "x" : 4, "j" : 17 } { "_id" : ObjectId("4c220a42f3924d31102bd867"), "x" : 4, "j" : 18 } has more
?我一共插入了20个数据,这里只显示了18个,并在下面提示has more,这是因为shell限制一个迭代的游标只到20,所以要查看下面的,需要使用it命令,iterator。。。。
?
{ "_id"