zoukankan      html  css  js  c++  java
  • 用mongosse 进行增删改查(2018/11/13)

    一、mongoose 是一个包
     
     
    打开cdm   mongod   --dbpath=d:/data 
    打开cmd  mongo
    新建一个文件夹 在里面写一个text.js文件    打开这个https://mongoosejs.com/  网址
    将这段代码 复制到 text.js文件夹中
    const mongoose = require('mongoose'); 
    mongoose.connect('mongodb://localhost/test');
    const Cat = mongoose.model('Cat', { name: String });
    const kitty = new Cat({ name: 'Zildjian' }); 
    kitty.save().then(() => console.log('meow'));
    在文件路径下打开cmd   cnpm i mongoose --save
                                          node  text  //运行文件  出现meow 成功
     
    在mongo 的cmd中  show dbs    
                                    use test
                                    show collections  //cats
                                    db.cats.find()
     
    二、mongoose的增删改查
     
    const mongoose = require('mongoose');
    mongoose.connect('mongodb://localhost/test',()=>{
         console.log("连接成功")
    });
    const Cat = mongoose.model('Cat', { name: String});//建立模型     第一个名字是集合的名字  第二个是集合中的键值对   
    /*const kitty = new Cat({ name: 'Zildjian' });
    kitty.save().then(() => console.log('meow'));*/  //这是写法一
    /*new Cat({name:"ggg"}).save().then(()=>console.log("添加成功"))*/ //这是写法二
    /*Cat.remove({name:"ggg"}).then(()=>console.log("删除成功"))
    Cat.update({name:"哈哈"},{$set:{name:"aaa"}}).then(()=>console.log("修改成功"))
    */
    Cat.find({name:'aaa'}).then() // 查找 在mongo中
    Cat({name:"fff"}).save().then(()=>console.log("成功"))
     
     
    三、用express项目 连接mongoose数据库进行页面渲染
    三层  MVC (model view control)
                    model  模型层  做数据操作的
                    view    视图层
                    controller  业务逻辑层
     
    MVC主要思路:
                    Model 文件主要负责引用连接数据库的conn.js文件---->建立mongoose模型,生成集合(如果数据库里没有数据内容需要在mongo/conn.js中添加一些数据)------>从数据库中找到需要的数据,封装在方法中------->将方法暴露出去(module.exports)
                   
                    Controller文件主要负责引用Model文件------>向Model发送请求,然后拿到Model中的数据,封装在方法中------>将方法暴露出去
     
                    index.js文件主要负责引入controller,将方法传给html页面
     
     
     
     
    主要步骤 :
                      ①新建一个express项目  app
     
                      ②打开cdm   mongod   --dbpath=d:/data 
                        打开cmd  mongo
                   
                    ③在文件路径下打开cmd   cnpm i mongoose --save
                                                             npm  start   
                    ④新建一个db文件夹 ------>创建conn.js    //用于与mongoose数据库建立连接
                        
    conn.js
    const mongoose = require('mongoose');
    mongoose.connect('mongodb://localhost/test',(err)=>{
         if(err){
               console.log("连接失败")
         }else{
               console.log("连接成功")
         }
    });
    module.exports=mongoose
     
                        ⑤建立一个Model文件夹------>创建 xxxModel.js    
    catsModel.js
    const mongoose= require("../db/conn");
    const catModel= mongoose.model("cats",{name:String})
    var getData=(callback)=>{
         CatModel.find().then((data)=>{
               callback(data)
         })
    }
    module.exports={
         getData:getdata
    }
                    
                  ⑥建立一个Controller文件夹------>创建xxxController.js
    catsController.js
    const CatModel = require("../model/CatModel");
    var getList=(req,res)=>{
         CatModel.getDate((data)=>{
               res.json({
                    list:data
               })
         })
    }
    module.exports={
         getList:getList
    }
                      
     
                  ⑦打开router文件夹中的index.js         ( 用get的方法取值 )
    index.js
    var express = require('express');
    var router = express.Router();
    const catsController =  require("../catsController/catsController")
    router.get('/list',catsController.getList)
    router.get('/', function(req, res, next) {
      res.render('index', { title: 'Express' });
    });
    module.exports = router;
                      
     
                 ⑧建立xxx.html文件
    list.html
    <body>
     
    </body>
    <script type="text/javascript">
                    $.get("http://localhost:3000/list").then((res)=>{          
                         var content =  baidu.template("tem",res);
                         console.log(content)
                         $("#box").html(content);
                    })
               </script>

    v

  • 相关阅读:
    w10更新
    java.lang.Integer cannot be cast to java.math.BigDecimal
    加法add 乘法multiply
    iterator,hasNext,next
    购物车全部数据,带商品信息
    ERRORinit datasource error, url: jdbc:mysql://localhost:3306/xxxxxx?useUnicode=true&characterEncoding=gbk&serverTimezone=GMT&useSSL=false
    Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:
    创建一个场景
    window系统已发布,等待更新
    [转]向量(矩阵)范式理解(0范式,1范式,2范式,无穷范式)
  • 原文地址:https://www.cnblogs.com/zsrTaki/p/11510433.html
Copyright © 2011-2022 走看看