先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Web前端全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip1024c (备注前端)
正文
- 条件操作符
| 操作 | 格式 | 范例 |
| :-: | :-: | :-: |
| 等于 | { key:value} | db.col.find({“by”:“内容”}) |
| 小于 | { key:{KaTeX parse error: Expected 'EOF', got '}' at position 9: lt:value}̲} | db.col.find…lt:50}}).pretty() |
| 小于或等于 | { key:{KaTeX parse error: Expected 'EOF', got '}' at position 10: lte:value}̲} | db.col.find…lte:50}}).pretty() |
| 大于 | { key:{KaTeX parse error: Expected 'EOF', got '}' at position 9: gt:value}̲} | db.col.find…gt:50}}).pretty() |
| 大于或等于 | { key:{KaTeX parse error: Expected 'EOF', got '}' at position 10: gte:value}̲} | db.col.find…gte:50}}).pretty() |
| 不等于 | { key:{KaTeX parse error: Expected 'EOF', got '}' at position 9: ne:value}̲} | db.col.find…ne:50}}).pretty() |
模糊查询
- 查询 title 包含"教"字的文档: db.col.find({title:/教/})
- 查询 title 字段以"教"字开头的文档:db.col.find({title:/^教/})
- 查询 titl e字段以"教"字结尾的文档:db.col.find({title:/教$/})
- 读取指定数量的数据记录 — Limit
db.COLLECTION_NAME.find().limit(num)
- 跳过指定数量的数据 — skip
db.COLLECTION_NAME.find().limit(num).skip(num)
- 排序
使用 sort() 方法对数据进行排序
db.COLLECTION_NAME.find().sort({KEY:1}) — 1为升序,-1为降序
MongoDB可视化工具 (Robo3T) 或 adminMongo
MongoDB可视化工具 MongoDBCompass
一、官网地址
解压文件夹找到文件打开
一直 next 到最后
一直点 即可。
Studio 3T的使用
一、官网地址
二、下载和安装
点击DOWNLOAD即可下载
按照自己电脑系统进行选择,然后填写邮箱和选择行业,第一次登录如果不提交不会下载,下载完成是一个zip压缩包(我的电脑是windows系统),解压缩安装即可,安装途中可以自行选择安装路径
安装完成选择连接:
根据提示进行操作,最后点击保存即可:
右键新建的连接,选择Add Database新建数据库:
输入数据库名称点击OK:
右键创建的database,选择Add Collection创建新的Collection(相当于新建关系型数据库中的表),也可以删除数据库Drop Database:
三、CRUD操作
首先打开命令行窗口,Open intelliShell:
红色框是输入的命令行,绿色框是输出的提示信息:
1、Insert操作详解
插入一个文档,db.collection.insertOne():
插入多个文档,db.collection.insertMany():
2、Query操作详解
查询所有, db.collection.find(),相当于:SELECT * FROM table_name
数据源
db.inventory.insertMany([
{ item: “journal”, qty: 25, size: { h: 14, w: 21, uom: “cm” }, status: “A” },
{ item: “notebook”, qty: 50, size: { h: 8.5, w: 11, uom: “in” }, status: “A” },
{ item: “paper”, qty: 100, size: { h: 8.5, w: 11, uom: “in” }, status: “D” },
{ item: “planner”, qty: 75, size: { h: 22.85, w: 30, uom: “cm” }, status: “D” },
{ item: “postcard”, qty: 45, size: { h: 10, w: 15.25, uom: “cm” }, status: “A” }
]);
按条件查询db.collection.find({ke:value}),相当于SELECT * FROM table_name WHERE name = ?
使用查询运算符指定条件
指定AND条件查询,相当于SELECT * FROM inventory WHERE status = “A” AND qty < 30
指定OR条件,相当于SELECT * FROM inventory WHERE status = “A” OR qty < 30
指定AND和OR条件,相当于SELECT * FROM inventory WHERE status = “A” AND ( qty < 30 OR item LIKE “p%” )
3、Update操作详解
数据源
db.inventory.insertMany( [
{ item: “canvas”, qty: 100, size: { h: 28, w: 35.5, uom: “cm” }, status: “A” },
{ item: “journal”, qty: 25, size: { h: 14, w: 21, uom: “cm” }, status: “A” },
{ item: “mat”, qty: 85, size: { h: 27.9, w: 35.5, uom: “cm” }, status: “A” },
{ item: “mousepad”, qty: 25, size: { h: 19, w: 22.85, uom: “cm” }, status: “P” },
{ item: “notebook”, qty: 50, size: { h: 8.5, w: 11, uom: “in” }, status: “P” },
{ item: “paper”, qty: 100, size: { h: 8.5, w: 11, uom: “in” }, status: “D” },
{ item: “planner”, qty: 75, size: { h: 22.85, w: 30, uom: “cm” }, status: “D” },
{ item: “postcard”, qty: 45, size: { h: 10, w: 15.25, uom: “cm” }, status: “A” },
{ item: “sketchbook”, qty: 80, size: { h: 14, w: 21, uom: “cm” }, status: “A” },
{ item: “sketch pad”, qty: 95, size: { h: 22.85, w: 30.5, uom: “cm” }, status: “A” }
] );
更新单个文档db.collection.updateOne()
更新多个文档db.collection.updateMany()
替换文档db.collection.replaceOne()。
4、Delete操作详解
数据源
db.inventory.insertMany( [
{ item: “journal”, qty: 25, size: { h: 14, w: 21, uom: “cm” }, status: “A” },
{ item: “notebook”, qty: 50, size: { h: 8.5, w: 11, uom: “in” }, status: “P” },
{ item: “paper”, qty: 100, size: { h: 8.5, w: 11, uom: “in” }, status: “D” },
{ item: “planner”, qty: 75, size: { h: 22.85, w: 30, uom: “cm” }, status: “D” },
{ item: “postcard”, qty: 45, size: { h: 10, w: 15.25, uom: “cm” }, status: “A” },
] );
删除所有文档db.collection.deleteMany()
删除与条件匹配的文档
删除与条件匹配的一个文档
以上基本操作及其他扩展的法见:官网
==========================================================================================
Mongoose 是一个让我们可以通过Node来操作MongoDB数据库的一个模块
- Schema(模式对象)
——Schema 对象定义约束了数据库中的文档结构
- Model
——Model 对象作为集合中的所有文档的表示,相当于MongoDB中的collection,它的每一个实例就是一个document文档
- Document
——Document表示集合中的具体文档,相当于collection中的一个具体文档
关系:Schema生成Model,Model创造Document
- Mongoose的使用方式
- 下载安装Mongoose(npm i mongoose --save)
- 项目中引入mongoose(const mongoose = require(‘mongoose’))
- 连接MongoDB数据库(mongoose.connect(‘mongodb://数据库ip地址 : 端口号( 默认端口27017可以省略 )/数据库名’))
- 数据库连接成功事件(mongoose.connection.once(‘open’ , () => {}))
- 数据库断开事件(mongoose.connection.once(‘close’ , () => {}))
- 创建Schema对象(约束数据)
- const Schema = mongoose.Schema
var stuSchema = new Schema({
name: String,
gender: {
type: String,
default: 'male'
}
}, {
timestamps: true (自动添加createdAt和updatedAt)
})
- 将stuSchema映射到一个MongoDB collection并定义这个文档的构成(var stuModle = mongoose.model(‘User’, stuSchema, ‘user’)) 这里注意点三个参数,如果不加会自动把collection定义成复数形式
- 增删改查操作
- 查找数据 (stuModle.find({条件}), fn)
- 增加数据 ( new UserModel({}).save())
- 删除数据 (UserModel.deleteOne({条件}, fn)) remove
- 修改数据 (UserModel.updateOne({条件}, fn))
=========================================================================
紧跟潮流
大前端和全栈是以后前端的一个趋势,懂后端的前端,懂各端的前端更加具有竞争力,以后可以往这个方向靠拢。
这边整理了一个对标“阿里 50W”年薪企业高级前端工程师成长路线,由于图片太大仅展示一小部分
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注前端)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
紧跟潮流
大前端和全栈是以后前端的一个趋势,懂后端的前端,懂各端的前端更加具有竞争力,以后可以往这个方向靠拢。
这边整理了一个对标“阿里 50W”年薪企业高级前端工程师成长路线,由于图片太大仅展示一小部分
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注前端)
[外链图片转存中…(img-mrKmQSI7-1713325915025)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!