zoukankan      html  css  js  c++  java
  • node与mongodb、mongoose

    一、安装mongodb

    1、打开file文件,进入MongoDB文件,依次进入server、3.2、bin
    2、复制此路径,打开计算机 属性,进入环境变量,双击path,在最后加分号并粘贴路径,点击确定
    3、重新进行第一步,打开cmd,粘贴mongod --dbpath c:datadb,敲回车,在末尾出现27017,代表安装成功

    二、概念:数据库,存放数据的一个仓库
    1、数据库服务器:很多个数据库,每一个数据库都是由一张张表组成的(行:数据,列:字段)
    2、分为非关系型数据库与关系型数据库
    (1)关系型数据库:mysql
    (2)非关系型数据库:mongodb
    3、mongodb命令行
    show dbs :查看当前数据库服务器下有多少数据库
    use 数据库名称:创建/切换数据库 注意:如果数据库中没有东西则不会显示
    db:查看当前使用的数据
    db.createCollection("表名称") 创建表
    db.getCollection("表名") 使用某一张表
    db.getCollectionNames()查看数据库中有多少张表

    db.表名.save({key:val,key:val...})存储

    db.表名.update({修改的数据},{$set{修改为},$inc:{age:10})
    db.表名.update({修改的数据},{$inc:{key:val2}})$inc:对一个数据增加或减去val2

    db.表名.remove({key:val})删除某一条数据,如果不传参,则删除全部

    db.表名.find()查找所有数据
    db.表名.find({key:val})查找指定数据 一般情况下回根据id来查找数据
    db.表名.find({age:{$gt:20}})查找大于20的数据
    db.表名.find({age:{$lt:20}})查找小于20的数据
    db.表名.find({age:{$gte:20}})查找大于等于20的数据
    db.表名.find({age:{$lte:20}})查找小于等于20的数据
    db.表名.find({age:{$gt:10,$lt:20}})查找大于10,小于20的数据
    db.表名.find({key:/^老/})查找name字段中以老开头
    db.表名.find({key:/老$/})查找name字段中以老结尾
    db.表名.find({key:/老/})查找name字段中带有老字
    db.表名.find({},{key:1,key:0})查找指定字段,1代表显示,0代表不显示
    db.表名.find().sort({age:1}) 按照年龄进行升序排序
    db.表名.find().sort({age:-1}) 按照年龄进行降序排序
    db.表名.find().limit(n) 显示多少条数据
    db.表名.find().skip(n) 跳过多少条数据
    db.表名.find().skip(n).limit(m) 跳过多少条 显示多少条 (分页 上拉加载更多)
    db.表名.findOne() 查找一条数据
    db.表名.find().count() 查看表中有多少条数据
    4、端口号:
    http:8080/80
    https:443
    mongodb:27017

    三、node连接数据库,操作数据库
    1、npm init -y:初始化
    2、cnpm install mongodb -S安装mongodb包(cnpm install mongoose -S安装mongoose包)

    3、启动服务:window+R运行,输入mongod --dbpath c:datadb,回车,启动服务

    4、mongodb操作

    //引入mongodb创建客户端
    const mongodbClient = require("mongodb").MongoClient;
    
    //定义数据库服务器地址
    const db_name = "mongodb://127.0.0.1:27017";
    
    
    //定义连接的数据库
    const db_username = "bk1912";
    
    //定义表
    const db_collection = "students";
    
    //连接数据库服务器
    mongodbClient.connect(db_name,(err,client)=>{
        if(err){
            console.log("连接失败")
        }else{
                                //连接哪个数据库      //操作哪个表
           let collection =  client.db(db_username).collection(db_collection)
            
        //    collection.save({
        //        username:"旺仔牛奶",
        //        price:120
        //    })
    
    
        // collection.remove({
        //     username:"老干爹"
        // })
    
    
        //collection.update({username:"娃哈哈"},{$set:{username:"AD钙奶"}})
           
        // collection.find().toArray((err,result)=>{
        //     console.log(result);
        // })
    
        }
    })

    5、mongoose操作

    //引入第三方模块
    const mongoose =require("mongoose");
    
    //定义连接数据库服务器的地址
    const url="mongodb://127.0.0.1:27017/bk1912";
    
    //连接数据库
    mongoose.connect(url,(err)=>{
        if(err){
            console.log("连接失败)
        }else
    })
    
    //如何连接数据库中的表以及创建字段和字段类型
    const Goods=mongoose.model("good",{
        goodsName:String,
        goodsPrice:Number
    })
    //mongoose.model:创建/操作数据库中的某张表
    //参数1:表的名称   注意:如果表名没有加s,创建的时候自动加
    //参数2:字段类型的限定
    //返回值是一个构造函数
    
    //增(每存一遍,都得走一遍以下流程)
    //注意:mongoose中拥有promise相关的API
    let goods=new Goods({
        goodsName:"连衣裙",
        goodsPrice:200
    })
    goods.save().then((result)=>{
        console.log(result)
    })
    
    //删
    Goods.remove({goodsName:"连衣裙"}).then(result)=>{
        
    }
    //改
    Goods.update({goodsName:"连衣裙"},{$set:{goodsPrice:666}}).then(result)=>{
        
    }

     

  • 相关阅读:
    slf4j简介(一)
    Spring Framework--AOP(1)--
    Spring Framework--Data Access(1)--Transaction Management(2)
    Spring Framework--Data Access(1)--Transaction Management(2)
    Spring Framework--Data Access(1)--Transaction Management(1)
    Spring Framework--Ioc Container(1)--Dependencies(2)--depends-on、lazy-init、autowire、mothod injection
    车票100–火车票接口开发文档
    SAE AppConfig的重定向和Url重写
    MySQL Order By Rand()效率
    面试时应该如何应答?
  • 原文地址:https://www.cnblogs.com/zgray110/p/11398171.html
Copyright © 2011-2022 走看看