安装:解压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);
模型名.
deleteOne
/
deleteMany
({条件},
(
err
)=>
{
模型名.
updateOne
/
updateMany
({条件},{新内容},
(
err
)=>
{
模型名.
find
({条件},
(
err,result
)=>
{
result;
定义:用户向服务器端发起请求,直到服务器进行响应的全过程,用户是不可以做其他事情的(等)
典型:网址请求、表单请求
定义:用户向服务器端发起请求,直到服务器进行响应的全过程,用户是可以做其他事情的(不等)
典型:ajax请求
ajax:asynchronous JavaScript and XML; 直译:异步的js和xml
不严格的定义:页面不会完整的刷新,只会导致局部页面发生变化
典型:异步技术/代码了:
定时器:定时器里面的内容再耗时也不会影响后续代码执行
ajax:在不刷新页面的情况下就和服务器端进行交互/沟通(无需提交表单)
xhr.
onreadystatechange
=
()=>
{
if
(xhr.
readyState
==
4
&&xhr.
status
==
200
){
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",
layUI.js插件库:提供了HTML/CSS/JS,只需要下载,梭代码
插件的固定使用步骤:
引入JS/css...
选择你喜欢的梭到你的项目中
根据设计图修改css
ajax获取数据进行渲染
JavaScript
- 671
-
老骥farmer
JavaScript
Vue.js