zoukankan      html  css  js  c++  java
  • mongodb安装及操作

    一、mongodb安装:

    以安装到D:MongoDB为例:
     
    1.在D盘新建data文件夹,在data文件夹下新建db文件夹;
    2.启动mongodb服务:打开MongoDB文件夹下的bin文件夹,在D:MongoDBin下打开cmd命令窗口,输入命令:mongod --dbpath d:datadb
    3.配置环境变量:打开MongoDB文件夹下的bin文件夹,复制路径----右键单击“计算机”----属性----高级系统设置----高级----环境变量----找到path双击----光标定到最后,输入;(英文状态下的分号)+路径;
    4.记录mongodb:重新打开cmd,输入:mongod --dbpath d:datadb;
    5.操作mongodb:重新打开cmd,输入:mongo;
    注:记录mongodb窗口不能关闭
     
    二.mongodb的常用命令:
    1.help 查看命令提示
       help
       db.help
       db.test.help()
       db.test.find().help()
     
    2.创建切换数据库
      use+数据库名   如果数据库中没有表,数据库是不会显示的
       如果存在,则切换,不存在,则创建
     
    3.创建表
    db.createCollection('表的名称')
     
    4.查看表
    db.getCollectionNames()  查询数据库中的所有表  返回值是一个数组
    db.getCollection('表的名称')   使用某张表
     
    5.db.表名.save({key:‘val’,key:‘val’})   
     
    6.db.表名.find()   查询所有【kinoko是表名】   
       db.kinoko.find({'age':12})    查询年龄为12的记录
       db.kinoko.find({age:{$gt:12}})   查询age>12的记录
       db.kinoko.find({age:{$lt:12}})   查询age<12的记录
       db.kinoko.find({age:{$gte:12}})   查询age>=12的记录 
       db.kinoko.find({age:{$lte:12}})   查询age<=12的记录
        db.kinoko.find({age:{$gte:12,$lte:34}})   查询age>=12并且age<=34的记录
        
    模糊查询
       db.kinoko.find({name:/rose/})   查询name中包含rose的数据
       db.kinoko.find({name:/^rose/})   查询name中以rose开头的
        db.kinoko.find({name:/rose$/})   查询name中以rose结尾的
     
       db.kinoko.find({}【所有记录】,{name:1,age:1}【只查找name,age】)   查询所有的name,age
        db.kinoko.find({age:{$gt:12}},{name:1,age:0})  查询age>12的所有列的name数据
           1是显示,0是隐藏
       db.kinoko.find().sort({age:1})   按照年龄排序---生序
       db.kinoko.find().sort({age:-1})  按照年龄排序---降序
     
        db.kinoko.find().limit(5)   查询前5条数据
       db.kinoko.find().skip(2)   查询2条后的记录
        db.kinoko.find().limit(5).skip(2)   查询前2-5之间的数据
          分页逻辑:
             特点:每页显示多少条数据是固定的;
                  页码数=总数量/每页显示的条数   总数量--count   count/limit     
                  当前页码  page
             比如:总数量:100
                 一页显示十条;
                 第一页------0-9
                 第二页------10-19
                 第三页------20-29
                 第四页------30-39
                 第五页------40-49
                 第六页------50-59
                 第七页------60-69
                 第八页------70-79
                 第九页------80-89
                 第十页------90-99
            遍历:for(var i = (page-1)*limit; i < Math.min(page*limit,count);i++){
                     }
     
        db.kinoko.findOne()   查询第一条数据
       db.kinoko.find({sex:{$exists:true}}).count()  按照某列进行排序
       db.kinoko.find({$or:[{age:22},{age:25}]})   or与查询
       db.kinoko.find({age:{$gte:25}}).count()   查找某个结果集的记录条数
     
    7.db.表名.update({key:'val'要修改的数据,$set:{key:'val'}修改的数据})   
      db.kinoko.update({name:'rose'},{$inc:{age:30}},false,true)   将name为rose的年龄在原来的基础上增加30
      db.kinoko.update({name:'rose'},{$inc:{age:30},$set:{name:'大美'}},false,true) 
        FALSE表示新增不新增,TRUE表示一条或多条
        $set 与 $inc 不能修改同一个字段
        将name为rose的年龄在原来的基础上加30,并将name改为“大美”
     
    8.db.表名.remove({key:'val'})   
     
    9. db.kinoko.distinct('key')   查询去重后数组
     
    10.show dbs 查看服务器中有多少个数据库
     
    11.db  如何查看当前使用的哪个数据库
     
      三,在JS中操作mongodb:
            局部安装mongodb
    //引入mongodb模块:
    const MongoClient = require('mongodb').MongoClient;
    
    //定义服务器地址:
    let url = "mongodb://127.0.0.1:27017";
    
    //连接数据库:
    let db_name = 'kinoko';
    MongoClient.connect(url,(err,client)=>{
        if(err){
            console.log('连接失败')
        }else{
            console.log('连接成功')
        }
    
        //连接数据库 连接表:
        const collection = client.db(db_name).collection('agu');
    
        //增:
        // collection.save({
        //     name:'伊洛',
        //     age:22
        // })
    
        // collection.save({
        //     name:'卡尔',
        //     age:23
        // })
    
        // collection.save({
        //     name:'柏溪',
        //     age:24
        // })
    
        //删:
        // collection.remove({
        //     name:'卡尔'
        // })
    
        //// collection.update({name:'伊洛'},{$set:{name:'倾城'}})   //只能改一条
    
        //查:
    
        //console.log(collection.find().toArray());    //输出:Promise{<pending>}
    
        // collection.find().toArray().then((data)=>{
        //     console.log(data);
        // })
    
    })
  • 相关阅读:
    【幻化万千戏红尘】qianfeng-Android-Day20_LruCache
    【幻化万千戏红尘】qianfeng-Android-Day20_Bitmap二次采样
    【幻化万千戏红尘】qianfeng-Android-Day20_Handler_Looper_MessageQueue
    【幻化万千戏红尘】qianfeng-Android-Day19_导航栏制作
    【幻化万千戏红尘】qianfeng-Android-Day18_Fragment
    【幻化万千戏红尘】qianfeng-Android-Day17_ViewPager
    【幻化万千戏红尘】qianfeng-Android-Day16动画
    【幻化万千戏红尘】qianfeng-Android-Day13_SQLiteOpenHelper
    【幻化万千戏红尘】qianfeng-Android-Day13_SQLiteDataBases
    【幻化万千戏红尘】qianfeng-Android-Day12SharedPreference、内部存储、外部存储
  • 原文地址:https://www.cnblogs.com/kinoko-1009/p/10497951.html
Copyright © 2011-2022 走看看