mongodb 的安装及常用命令

安装步骤:

步骤一:

 tar -xvf mongodb-linux-x86_64-4.0.10.tgz

步骤二:

 mv mongodb-linux-x86_64-4.0.10 /usr/local/mongodb

步骤三:

  数据存储目录:mkdir -p /mongodb/single/data/db

  日志存储目录: mkdir -p /mongodb/single/log

步骤四:

   修改配置文件:vi /mongodb/single/mongod.conf    

systemLog :
     destination : file
     #mongod mongos 应向其发送所有诊断日志记录信息的日志文件的路径
     path : "/mongodb/single/log/mongod.log"
     # mongos mongod 实例重新启动时, mongos mongod 会将新条目附加到现有日志文件的末尾。
     logAppend : true
storage :
#mongod 实例存储其数据的目录。 storage.dbPath 设置仅适用于 mongod
     dbPath : "/mongodb/single/data/db"
     journal :
         # 启用或禁用持久性日志以确保数据文件保持有效和可恢复。
         enabled : true
processManagement :
         # 启用在后台运行 mongos mongod 进程的守护进程模式。
         fork : true
net :
# 服务实例绑定的 IP ,下面为自己虚拟机ip地址
     bindIp : 192.168.1.10  
 
 
 
 
启动命令:
        /usr/local/mongodb/bin/mongod -f /mongodb/single/mongod.conf
启动客户端命令:
       进入到bin目录: ./mongo --host=192.168.1.10
基本命令介绍:
      创建数据库: use article (创建完之后数据库只是在内存中,只有在创建了集合之后才可持久化到磁盘,并且通过 show dbs 查看)
      切换数据库:use article
      当前数据库查看: db
      当前使用的表查看:db
      当前磁盘数据库删除:db. dropDatabase()
      集合创建:db.createCollection('my')
      展示集合: show collections 
      删除集合:db.集合名称.drop()
      查询集合里的所有数据:db.集合名称.find()
      清理界面:cls
      按条件查询:db.集合名.find({条件:'值'})  如: db.comment.find({userid:'1001'})
      按条件查询只查一条:db.comment.findOne({userid;“1001”})
      查询显示的字段只为部分字段:
       db.comment.find({userid:'1002'},{userid:1,name:1})
      查询所有的数据但是显示个别:
       db.comment.find({},{userid:1,name:1})
      
      按条件修改:
       db.comment.update({userid:'1003'},{content:'我的家'})   // 修改的是content字段,但是其他的字段都被干掉了
       db.comment.update({userid:'1003'},{$set:{content:'我的家'}}) // 仅修改满足条件的一条数据
       db.comment.update({userid:'1003'},{$set:{content:'我的家'}},{multi:true})  // 满足条件的所有的数据都被修改
删除命令介绍:
       db.集合名.remove({})  // 删除集合下的所有的数据,请慎重使用
     
        db. 集合名称 .remove( 条件 )   如:  db.comment.remove({_id:'1'})  // 删除集合下 _id为1的值
 
 
分页查询:
       查询某一个集合里有多少条数据: db.集合名.count()   如:db.comment.count()
       带条件查询某一个集合下有多少条数据: db.集合名.count({条件})  如: db.comment.count({_id:"1"},{state:"2"}); 或者
        db.comment.count({_id:"1",state:"2"});
       
       按页查询:
       // 第一页
       db.comment.find().skip(0).limit(2)
       // 第二页
       db.comment.find().skip(2).limit(2)
       // 第三页
       db.comment.find().skip(4).limit(2)
       
 排序查询:
       sort() 对数据进行排序查询,sort() 可以通过参数指定排序的字段,使用 1 和 -1 来进行排序, 1 升序 , -1 降序, db. 集合名   称 .find().sort( 排序方式 )
       如: 按_id降序排序:db.comment.find().sort({_id:-1});
     
      当sort() 、skip()、limit() 同时使用时,sort() 优先,其次skip() , 最后是 limit() 
 
模糊查询:
       模糊查询是通过正则表达式查询的,正则表达式满足js正则表达式即可
       语法: db.集合名称.find({字段:/正则表达式/});
       如: 查询评论集合里面内容有“开水”的文档
              db.comment.find({content:/开水/})
       如: 查询评论集合里面内容以“专家” 开头的文档
               db.comment.find({content:/^专家/});
 
比较查询:
      <, <=, >, >= 这个操作符也是很常用的          
       db. 集合名称 .find({ "field" : { $gt: value }}) // 大于 : field > value
      db. 集合名称 .find({ "field" : { $lt: value }}) // 小于 : field < value
      db. 集合名称 .find({ "field" : { $gte: value }}) // 大于等于 : field >= value
      db. 集合名称 .find({ "field" : { $lte: value }}) // 小于等于 : field <= value
      db. 集合名称 .find({ "field" : { $ne: value }}) // 不等于 : field != value
      如:查询评论集合点赞数量大于 700 的文档
          db.comment.find({likenum:{$gt:700}});
包含查询:
       包含使用$in操作符,如:  查询评论的集合中 userid 字段包含 1003 1004 的文档
              db.comment.find({userid:{$in:["1003","1004"]}});
       不包含使用$nin 操作符,如:查询评论集合中 userid 字段不包含 1003 1004 的文档
              db.comment.find({userid:{$nin:["1003","1004"]}});
 
 
多个条件的查询,相当于 sql里面的and 和 or :
       
       语法: $and :[{},{},{}....] 
 
       如:查询 _id 等于 2, 并且likenum 等于 888 的文档
          db.comment.find({$and:[{_id:"2"},{likenum:NumberInt(888)}]});
       
       如:查询 _id 等于 2 , 并且likenum 值大于 200 的文档
          db.comment.find({$and:[{_id:"2"},{likenum:{$gte:200}}]});
 
       语法: $or : [{},{},{}...]
       
       如:查询_id 等于2 或者 点赞数小于1000 的文档记录
           db.comment.find({$or:[{_id:"2"},{likenum:NumberInt(1000)}]});
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值