第六周笔记整理

65 阅读3分钟

一、mongoDB

1.起用方式:.\mongod.exe --dbpath=创建的mongo文件夹的绝对路径。
            .\mongo.exe
            
2.数据库操作
    a.查询数据库:show dbs
    b.创建、切换数据库:use 数据库名称;
    c.查看当前选中的数据库:db
    d.创建数据表:db.createCollection("表名")
    e.删除数据库:db.dropDatabase();

3.数据表操作:
    a.创建数据表:db.createCollection("表名",{size:5242880,capped:true,max:5000})
        第二个参数限制操作,最大的存储空间为5M,最多5000条数据。
    b.查看所有数据表:db.getCollectionNames();
    c.删除数据表:db.表名.drop();

4.数据操作:
    a.增:db.表名.save({属性名:属性值,...})  一次只增加一条数据。
    b.删:db.表明.remove({username:"xx"})   键值对
    c.改:db.表名.update({条件},{要改的新内容})
    d.查:
        db.表名.find({age:{$age:18}})---找到所有年龄为18的数据
        db.表名.find({age:/正则/})----正则模糊查询
        db.表名.find({},{"name":1,"age":1})----只要name和age
        db.表名.find().sort({age:1})----按照age升序排列,降序的话换为-1
        db.表名.find().skip(0).limit(2)----跳过前0条,再拿2条,可以理解为前两条;
        db.表名.find().count()----获取此表有多少条数据
 
5.关联Node和mongDB
    a.引入:var mongoose=require("mongoose");
    b.连接:mongoose.connect("mongdb://127.0.0.1//数据库名称");
    c.选中、创建一个数据表,同时设置数据类型的控制
        const userSchema=mongoose.Schema({
            name:String,
            age:Number,
        })
    var 模型名=mongoose.model("模型名首字母大写",userSchema,"数据名");
    module.exports={模型名}
    主模块引入:var xx=require("./xx");
    此操作只能调用一次,所以推荐模块化开发的时候把这一步单独拿出来创建一个文件,然后再公开。
   d.增:
       var obj=new xx.模块名({
           name:objUrl.query.name;
           age:objUrl.query.age;
       })
       obj.save((err)=>{
           新增之后的操作
       })
   e.删:
       xx.模型名.updateOne/Many({pwd:"123"},(err)=>{
           修改之后的操作
       })
   f.查:
       xx.模型名.find({条件},(err,result)=>{
           result查询到的结果是JSON数据
       })

二、ajax

1.概念:AJAX:asynchronous JavaScript and XML,是一种前端技术,目的是在不刷新页面的情况下和服务器端进行交互沟通。
    同步交互:用户向服务器端发起请求的时候,直到服务器进行响应的全过程,用户不可做其他的操作。
    异步交互:用户向服务器端发起请求的时候,直到服务器进行响应的全过程,用户可以做其他的操作。

2.使用步骤:
    a.创建ajax核心对象:XMLHttpRequest;
        var xhr=new XMLHttpRequest();
    b.建立和服务器端的连接:
        xhr.open("GET","路由");
    c.向服务器端发送请求:
        xhr.send();
        特殊:xhr.send();get的时候会失效,小括号里必须写null,请求消息放到路由后面,xhr.open("GET","路由","路由?key=value&key=value");
    d.绑定状态监听事件
        xhr.onreadystatechange=()=>{
            if(xhr.readyState==4&&xhr.Status==200){
                xhr.responseText;
            }
        }

三、XML

1.XML数据格式:
    a.HTML\XHTML\DHTML\XML分别是什么?
        HTML网页 XHTML更严格的网页 DHTML动态网页 XML配置文件、数据格式
    b.如何使用XML
        1.创建xx.xml文件
        2.必须写上声明标签<?xml version="1.0" ending="utf-8"?>
        3.必须写上一个根标签(双标签),没有任何预定义的标签,可随意写,内容可以自定义。

2.JSON数据格式:JavaScript Object Natation:js对象表示法,本身就是js的一部分。
        作用:数据格式类似XML
        优点:比XML更简洁,更快更容易解析。
        
    a.后端操作:把数据拿出来整理为JSON字符串,JSON字符串的格式:
        1.'[1,2,3,4,5,6]'
        2.'{"key":"value"}'
        3.'[{},{},{},{}]'
        4.'{"names":["xx","xx"]}'
    
    b.怎么才能变为JSON字符串
        JSON.stringify(x);
    c.前端操作:使用AJAX获取数据,需要将后端传来的xhr.responseText数据进行处理。
        1.eval("("+jsonTxt+")")---此方法只要外层是{}优先级就会出现问题。
        2.JSON.parse(jsonTxt);
 
 3.WebStorage:客户端存储技术、前端存储技术:
     a.把数据放在Location的查询字符串里面
     b.cookeie技术:解析方式麻烦只能存储2kb,几乎被淘汰了。
     c.WebStorage:更简单方便
         作用:能在客户端存储数据,跨页面时也可以使用。
         分类:1.sessionStorage   会话级浏览器关闭就失效
              2.LocalStorage     本地级永久存储
         操作:xxx.Storage
         保存:xxx.Storage.属性名=属性值;
         读取:xxx.Storage.属性名;
         删除:xxx.Storage.removeItem("属性名");
         清空:xxx.Storage.clear();