1、启动
64位win7:
1.不用怎么安装,就是下载后搜一下配置教程,跟着配置好就可以了。
2.命令行下启动自带的MongoDB shell方法:
在一个cmd命令行窗口cd到MongoDB的bin路径,输入mongod -f config.cnf调用配置文件中的路径后,要保留该窗口并打开一个新的cmd命令行窗口输入mongo,启动下面的界面才是成功的。
注:我是将dbpath保存到某个配置文件后调用的,也可以直接输入mongod.exe --dbpath=mongoDB的bin路径。
D:\softwares\mongoDB\mongodb-win32-x86_64-2008plus-2.6.6-rc0\bin>mongo
MongoDB shell version: 2.6.6-rc0
connecting to: test
>
linux(XShell终端):
下载:wget http://downloads.mongodb.org/linux/mongodb-linux-x86_64-1.6.4.tgz
解压后仿照win7上进行配置就可以了。
2、基本操作训练
在这里学会使用help命令是比较重要的。
数据库的帮助:db.help
集合的帮助:db.集合名.help()
删除字段:> db.mycollection.update( { "_id" : ** } , { $unset : { "field":1 } } );
返回查询结果中的某些字段,可以通过find 的第二个参数来指定返回的键:db.tokens.find({"deviceId":"ddada"},{"key":1,"_id":0})
注意:
1.如果创建database时(use database)没有写入数据,show dbs时是不会显示这个database的,因为它没有被保存下来,被自动删除了;
2.有专门的方法db.createCollection来创建集合,但是其实直接第一次使用的时候就会自动创建的
3.我想查看一个集合中每个文档对应的key的名称时去百度了一下,原来MongoDB中是无法查看表结构的,因为每一条存进去的记录,都有可能是不一样的结构的(比如一个有2个key,一个有另外的3个key),也就是无法预判多个键值对的组合。如果能够保证记录的大多数数据使用相同的键序列,那么用客户端工具是可以看到的。
4.如果是类似根据名字查询{"profile":{"name":"kkk"}},则用profile.name
3、到官网阅读指导手册
很多操作是help命令所不能找到的,但是在官网上面就有。
官网地址:http://docs.mongodb.org/manual/core/read-operations-introduction/
在MongoDB CRUD Operations部分(即数据库创建、读取、修改、删除操作)中,MongoDB CRUD Tutorials包含很多操作方法,比如批量插入、嵌套查询等。刚开始学,我把重点放在阅读和练习这些方法上。
(1)Projection可以限制输出哪些字段。因为_id是默认输出的,而它又是蛮长的一段,所以我就可以利用Projection来使_id不输出,只输出我需要的一些字段。
(2)批量更新数据:update是默认更新一个文档的,要是想批量更新,可在update语句中添加multi属性为true:...,{multi:true})。
(3)嵌套查询:有的集合里面,文档A里面还含有文档B,那么我要想定位到B中的数据,那么就可以利用嵌套查询。形式:文档A.文档B
(4)数值型的数据,有引号和无引号的在操作时是不一样的。所以在插入数据的时候应该统一,如果value是字符串,则需要用双引号引起来,整型长整型等则不需要引号。
(5)Mongodb存储的数据格式为{key:value}。如果value是List或者数组,则格式为{key:[value1, value2]}。如果value是Map,则格式为{key:{{key1:value1},{key2:value2}}}。(嵌套查询)
(6)关于MongoDB的“事务”(Perform Two Phase Commits,两阶段提交)
4、Robomongo配置本地mongodb
用管理工具来管理会方便很多,安装Robomongo后配置过程为:
(1)启动mongodb > 创建用户,db.addUser('username','password');
(2)启动Robomongo > file > new connect,进行配置:localhost端口不变,用刚刚创建的用户进行验证,保存后就配置成功了。
参考:
接下来就是使用了,双击选中某个集合打开后,可以在命令行区域输入mongodb的shell命令,按Ctrl+enter就可以运行,比如进行查询、统计等