mongodb安装及使用

mongodb 安装:

下载源码:【我的机器是64位】

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.6.7.tgz


解压源码放到安装目录

tar -zxvf  mongodb-linux-x86_64-2.6.7.tgz

mv mongodb-linux-x86_64-2.6.7.tgz mongodb

mv mongodb /usr/local/


创建数据和日志目录

cd /usr/local/mongodb

mkdir data

mkdir logs


运行mongod服务

cd bin

./mongod --dbpath=/usr/local/data --logpath=/usr/local/logs/mongodb.log

成功后会输出 all output going to: logs/mongodb.log


打开客户端:

./mongo

MongoDB shell version: 2.0.4
connecting to: test

>


查看数据库

> show dbs


选择或创建(没有就创建)数据库

>use testdb


创建集合

>db.user.insert({name:'zfeig',city:'guangzhou'})


查看集合

>show collections


文档数据操作


1、无条件查找

>db.user.find()或者 db.user.find({}) //查询所有记录


2、指定条件查找[里面的json对象就是查询条件]

>db.user.find({name:'zfeig'}) //查询name=zfeig的记录

>db.user.find({age:35}) //查询age=35的记录

>db.user.find({name:'lis',age:25})  //查询name=lisi and age=25的记录


3、查询指定字段【通过第二个{},指定字段是否显示,字段显示条件为1,不显示条件为0】

>db.user.find({},{name:1,_id:0})   //查询所有记录,但只显示name字段,_id字段不显示


4、魔术方法使用,$gt ,$lt,$gte,$lte,$ne,$in,$or

>db.user.find({age:{$gt:20,$lt:30}})  //查age>20 and age<30的记录

>db.user.find({age:{$gte:20,$lte:30}})  //查age>=20 and age<=30的记录

>db.user.find({age:{$net:30}})  //查age!=30的记录

>db.user.find({age:{$in:[20,25,26,27,28]}})  //查找age in (20,25,26,27,28)的记录

>db.user.find({$or:[{name:'zfeig'},{age:{$gt:30}},{更多条件1},{更多条件2}]})  //查找name=zfeig or age<30 or 更多条件1 or 更多条件2 的记录


5、正则查询

>db.user.find({name:/^li/})  //查找name以li开头的规则匹配的记录


6、limit,skip,sort【1为升序,-1为降序】

>db.user.find({age:{$gt:0}}).order({age:-1}).limit(5)  //以age字段降序排列,取出5条记录

>db.user.find({age:{$gt:0}}).order({age:1})  //以age字段升序排列,【排序的时候确保,记录包含排序字段age,否则排序结果不能令人满意】

>db.user.find({}).skip(10).limit(2)  //跳过前面10条记录,从第11条记录开始,连续取两条记录【分页的常用方法】


7、update更新数据操作:$set,$inc,$unset,$push,$pullAll

>db.user.update({name:'lis'},{$set:{age:38}})   //将name=lis的文档更新,并且set age=38

>db.user.update({age:{$gt:35}},{$set:{age:20}}) //将所有age>35的文档更新,并且set age =20

>db.update({name:'lisi'},{$inc:10})   //将name=lis的文档更新,让age自增10;

>db.update({name:'lisi'},{$inc:-10})   //将name=lis的文档更新,让age自减10;

>db.user.update({name:'lisi'},{$unset:{field:1}})  //将name=lis的文档更新,删除该文档中的field字段

>db.user.update({name:'lisi'},{$push:{sex:'male'}})  //将name=lis的文档更新,追加字段sex,sex值为数组["male"]形式

>db.user.update({name:'lisi',{$pullAll:{sex:["male","female","middle"]}}})  //将name=lis的文档更新,删除值为数组的字段中指定的值

注意:$unset,和$pullAll,前者删除整个字段和字段里面的内容,后者删除字段里面的指定值


 8、remove删除文档记录

>db.user.remove({})   //删除所有记录

>db.user.remove({name:'lisi'})  //删除name=lisi的记录


9、drop 删除集合

>db.user.drop()   //删除整个user集合


10、dropDatabase删除数据库  

>use mydb       //选择要删除的数据库

>db.dropDatabase()   //删除整个数据库






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值