• 安装:解压mongodb-win32-x86_64-2008plus-ssl-3.6.11.zip文件
  • 进入bin文件夹:mongo.exe(客户端)和mongod.exe(服务器端)
  • 启动:当前bin文件夹里打开cmd命令行或打开powersheel(注意路径不能有中文),输入.\mongod.exe --dbpath=服务器的绝对路径
  • 再开命令行,输入.\mongo.exe 启动mongo的客户端,检查服务器是否链接成功
  • 创建数据表:db.createCollection('表名',{size:5242880,capped:true,max:5000})
  • 第二个参数为限制操作,意为最大存储空间为5M,最多为5000条数据,推荐不写限制)
  • 查看当前所有数据表:db.getCollectNames()
  • 删除数据表:db.表名.drop()
  • db.表名,save({属性名:属性值,...}) -- 一次只能插入一条数据
  • db.表名.save([{},{},{}...]) -- 一次插入多条数据(建议键名统一)
  • 删:db.表名.remove({键值对})
  • 改:db.表名.update({条件},{修改后的新内容})
  • db.表名.update({name:'user'},{pwd:'123'}) -- 按条件找到的数据被新数据完全覆盖
  • db.表名.update({name:'user'},{$set:pwd:'123'}) -- 按条件找到的数据只修改pwd
  • db.表名.find({}) -- 找到所有数据
  • db.表名.find({age:{$gte:18}}) -- 找到所有age大于18的数据
  • db.表名.find({},{name:1}) -- 找到所有数据,只需要name部分,相当于开关,1为开,只取这部分;0为关,不取这部分数据
  • db.表名.find().sort({age:1}) -- 找到所有数据,按照age升序排列,降序为-1
  • db.表名.find().skip(0).limit(2) -- 跳过前0条,拿取2条数据
  • db.find().count() -- 获取此表的有多少条数据
  • 引入:const mongoose = require('mongoose');
  • 连接数据库:mongoose.connect('mongodb://127.0.0.1/数据库名称');
  • 创建出一个新的数据表,同时设置数据类型的控制,防止用户恶意输入 var xxxSchema=mongoose.Schema({ name:String, age:Number, pwd:String, email:String, vip:String var 模型名=mongoose.model("模型名",xxxSchema,"数据表名"); 注意:模型名首字母大写,mongoose.model只能执行一次,用模块的方式进行引入
  • var user= new 模型名({ name : "XXX" , pwd : "XXX" , email : "XXX" , user. save ( ( err )=> { console . log (err); //错误提示对象,null说明没有错误 //插入完毕后要干什么在这里写代码 模型名. deleteOne / deleteMany ({条件}, ( err )=> { //删除完毕后要干什么在这里写代码 模型名. updateOne / updateMany ({条件},{新内容}, ( err )=> { //修改完毕后要干什么在这里写代码 模型名. find ({条件}, ( err,result )=> { result; //查询到数据库中的东西
  • 定义:用户向服务器端发起请求,直到服务器进行响应的全过程,用户是不可以做其他事情的(等)
  • 典型:网址请求、表单请求
  • 定义:用户向服务器端发起请求,直到服务器进行响应的全过程,用户是可以做其他事情的(不等)
  • 典型:ajax请求
  • ajax:asynchronous JavaScript and XML; 直译:异步的js和xml
  • 不严格的定义:页面不会完整的刷新,只会导致局部页面发生变化
  • 典型:异步技术/代码了:
  • 定时器:定时器里面的内容再耗时也不会影响后续代码执行
  • ajax:在不刷新页面的情况下就和服务器端进行交互/沟通(无需提交表单)
  • //特殊: //GET请求xhr.send()会失效,但是还不能省略,必须写为xhr.send(null); //请求消息需要放到路由后面:xhr.open("GET","路由?key=value&key=value"); //4、绑定状态监听事件 xhr. onreadystatechange = ()=> { if (xhr. readyState == 4 &&xhr. status == 200 ){ //xhr.readyState 发起请求 //xhr.status 服务器响应 var data=xhr. responseText ; //得到服务器端响应的文本,进行数据渲染、判断...

    注意:get请求和post请求的区别

  • GET:显示在url地址上,安全性低,大小最大2kb
  • 需要获取数据,和安全性无感的操作,比如:搜索框、ajax请求
  • POST:安全高,大小无限制
  • 只要跟安全性相关的,都用post,比如:登录/注册
  • 保存数据有两种方式:

  • 把数据放到数据库(json数据)
  • 把数据保存在一个文件之中.xml文件(已淘汰,老项目可能使用)
  • ==面试题==HTML\XHTML\DHTML\XML分别是什么? HTML:网页 XHTML:更严格的网页 DHTML:动态的网页(D:Dynamic)不是新技术、新概念,只是现有技术整合的统称,让网页在离线版依然具有动态特效.包含HTML+css+js(dom) XML:配置文件|数据格式

    创建xml

  • 新建建xx.xml文件
  • 必须写上声明标签<?xml version="1.0" encoding="utf-8"?>
  • version - 版本号:目前的版本只有1.0和1.1,但是1.1升级的并不理想,所以市场上还是主流使用1.0版本,淘汰,不再更新
  • 没有任何的预定义标签,所有的标签都是自定义的;必须写一个根标签(也是自定义的,但只能存在一个)
  • 标签名==>键名,标签里的内容==>键值 使用xml
  • 使用node.js读取你存储好的xml文件,响应给前端,
  • 前端使用ajax访问node.js,接住响应的数据必须写为xhr.responseXML
  • 得到的就是一个dom对象,可以使用核心DOM来进行解析
  • 缺点:核心DOM语法解析XML非常繁琐
  • JSON定义:数据格式 JavaScript Object Notation(js对象表示法,本身就是js的一部分.属于字符串数据表示法) 优点:比XML 更简洁、更快、更容易解析 JSON字符串的格式:

    '[1,2,3,4,5]'

    '{"key":value}'

    '[{},{},{},{},{}]'

    '{"names":["代老师","冉老师","卢老师"]}'

    后端的操作:

  • 先要将JSON数据从数据库取出
  • 将数据整理为字符串
  • JSON.stringify(x);
  • 日期插件:wdatepicker.js

  • 下载引入:<script src="My97DatePicker/WdatePicker.js" type="text/javascript" charset="utf-8">
  • 书写js:
  •  inp.onfocus=function(){WdatePicker({
         el:"inp",//el -> element 你的日期选择器选择的元素是哪个
         //更多的键值对可以看源代码
    
  • layUI.js插件库:提供了HTML/CSS/JS,只需要下载,梭代码
  • 插件的固定使用步骤:
  • 引入JS/css...
  • 选择你喜欢的梭到你的项目中
  • 根据设计图修改css
  • ajax获取数据进行渲染
  • JavaScript