linux下mongodb的安装启动操作

1. 下载MongoDB,此处下载的版本是:mongodb-linux-i686-1.8.1.tgz.tar。(我的测试机是ubuntu32bit的)

http://fastdl.mongodb.org/linux/mongodb-linux-i686-1.8.1.tgz


2. 解压文件到某目录下,然后重命名:

  1. [root@localhost src]# tar -xzvf mongodb-linux-i686-1.8.1.tgz.tar    
  2. [root@localhost src]# mv mongodb-linux-i686-1.8.1 /usr/local/mongodb/  

3. 查看安装后的文件情况:

  1. [root@localhost src]# cd /usr/local/mongodb/   
  2. [root@localhost mongodb]# ls   
  3. bin  GNU-AGPL-3.0  README  THIRD-PARTY-NOTICES   
  4. [root@localhost mongodb]# cd bin/   
  5. [root@localhost bin]# ls   
  6. bsondump  dbbak  mongo  mongod  mongodump  mongoexport  mongofiles  mongoimport  mongorestore  mongos  mongosniff  mongostat  

   bin下的mongod就是MongoDB的服务端进程,mongo就是其客户端,其它的命令用于MongoDB的其它用途如MongoDB文件导出等。

4. 启动MongoDB.

    要先建立好MongoDB 存放数据文件和日志文件的目录,此处建立在/data下:

  1. [root@localhost etc]# cd /data/   
  2. [root@localhost data]# ls   
  3. mongodb_data  mongodb_log  

   在MongoDB安装目录下的bin下使用mongod启动MongoDB,

  1. ./mongod --dbpath=/data/mongodb_data/ --logpath=/data/mongodb_log/mongodb.log --logappend&  

  等待启动成功后,可查看是否启动成功了,默认端口号是27017,当然在启动时也可以指定未使用的其它端口。

  先通过查看端口号看MongoDB是否启动了。

  1. [root@localhost data]# netstat -lanp | grep "27017"  
  2. tcp        0      0 0.0.0.0:27017               0.0.0.0:*                   LISTEN      1573/mongod            
  3. unix  2      [ ACC ]     STREAM     LISTENING     5874   1573/mongod         /tmp/mongodb-27017.sock  

  可以看到,已启动成功,现在使用mongo客户端访问一下该数据库。

  1. [root@localhost bin]# cd /usr/local/mongodb/bin/   
  2. [root@localhost bin]# ./mongo   
  3. MongoDB shell version: 1.8.1  
  4. connecting to: test   
  5. >   

  到这一步说明已经安装成功了。



5.操作

->use test1  创建库

->db.addUser(“userName”,”Pwd”)    创建用户

->db.auth(“userName”,”Pwd”)       设置用户为允许连接的用户

->db.createCollection(“TableName”)                                     创建表

->showcollections                          查看表是否创建成功

->db.TableName.Save({age:1})                 添加数据

->db.TableName.find()                        查看添加的数据是否成功(如果没有查询到任何的结果,说明添加失败)

 ->添加数据,如果返回的(shell):1 说明有错误


-------------------数据库操作------------------------

use dolphinop # 创建/切换数据库

showdbs # 查看数据库

showcollections # 查看数据库中的表

db.dropDatabase() # 删除数据库

db.table_name.drop() # 删除表

db.table_name.getIndexes(); # 查看索引

db.table_name.ensureIndex({'name':1}) # 建立索引(1-1)

-------------------插入操作------------------------

插入数据:db.testcollection.insert({'name':'tompig,'age':25}); 说明:如果testcollection不存在则自动创建。

-------------------查询操作------------------------

查询所有数据:db.testcollection.find();

按条件查询:db.testcollection.find({"name":"li"});

查询统计:db.testcollection.find().count();

按条件查询统计:db.testcollection.find({"name":"liu"}).count();

查询固定条数记录:db.testcollection.find().skip(1).limit(2); 从第二条开始查询查询2条记录。

in查询:db.testcollection.find({"age":{$in:["32","33"]}});

排序查询:db.testcollection.find().sort({"age":-1});从大到小排序

db.user.find('this.age>"31"',{name:1}); 等同于SELECTname FROM user WHERE age >30

-------------------删除操作------------------------

删除所有数据:db.testcollection.remove({})

删除一条符合条件的记录:

1db.testcollection.remove({"age":"29"});

2db.testcollection.remove({"age":{$lt:"30"}});删除age小于30的记录

说明:$gt: > --Greaterthan 的首字母)

          $gte: >= --Greaterthan or equal 的首字母)

          $lt:< --Lessthan 的首字母)

          $lte:<= --Lessthan or equal 的首字母)

          $ne: != --Notequal的首字母)

-------------------更新操作------------------------

db.testcollection.update({"name":"liu"},{$set:{"age":"35"}});

等同于sql的:updatetestcollection set 'age'='35' where name='liu';

-------------------函数使用------------------------

db.user.distinct("name",{"age":{$gt:"30"}});

等同mysqlselectdistinct("name") from user where age>"30";


15pymongo查询排序

mongo的排序:升序:db.feedbacks.find().sort({'id':1})

                              降序:db.feedbacks.find().sort({'id':-1})

pymongo的排序:db.feedbacks.find().sort('id') # 默认是升序

                                   升序:db.feedbacks.find().sort('id',pymongo.ASCENDING)

                                   将序:db.feedbacks.find().sort('id',pymongo.DESCENDING)

                                   多列排序:db.feedbacks.find().sort([('id',pymongo.ASCENDING),('name',pymongo.DESCENDING)])

添加:db.feedbacks.insert({'id':1,'name':'wuxianglong'})

更新:db.feedbacks.update({'id':1},{'$set':{'name':'wuwenyuan'}})

删除:db.feedbacks.remove() # 删除所有数据

db.feedbacks.remove({'id':1})


参考:http://www.linuxidc.com/Linux/2011-05/36309.htm

http://www.linuxidc.com/Linux/2011-12/48865.htm


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章