集合(表)操作
建:db.createCollection(‘表名’,{配置})
//配置:{size:文件大小,capped:true,max:条数|文档数} capped定量
//db.表(集合).isCapped() 返回 true/false 是否是定量
查:show collections / db.getCollectionNames()
删:db.表|集合.drop()
文档(row)操作
增
db.集合.save({}) //添加一条
db.集合.insert({}) //添加一条
db.insertOne({}) //添加一条
db.集合.save([{},{}]) //多条
db.集合.insert([{},{}]) //多条
//insert 相同ID字段不会进行插入更改 save会
删
db.集合.deleteOne({要删数据条件描述}) //一条
db.集合.remove({},true) //一条
db.集合.remove({要删数据条件描述}) //多条
db.集合.remove({}) //清空表
改
db.集合.udpate({查询条件},{替换条件},插入boolean,全替换boolean)
//将所有的用户名为李四的年龄全都设置为20岁
db.user.update({username:“李四”},{$set:{age:20}},false,true)
第三个参数:如果更新的数据没有的话则插入,默认不插入
第四个参数:默认只更新一条数据,如果要批量更新设置true
查询条件
{age:22} age == 22
{age:{ $gt:22 }} age > 22
{age:{ $lt:22}} age < 22
{age:{$gte: 22}} age>=22
{age:{$lte:22}} age<=22
{age:{ lte:122,gte:22}} age<=122 && age>=22
{$or:[{age:22},{age:122}]} 22 or 122
{key:value,key2:value2} value && value2
{name:/正则/}
替换条件
{$set:{数据}}
{inc:{age:5}} //在原来的基础上年龄递增5
查
所有:db.集合.find(条件)
条数: db.集合.find().count()
去重:db.集合.distinct(key).length
db.集合.find({条件},{指定要显示列区域})
指定要显示列区域
username:1 显示这个区域
username:0 不显示这个区域
_id 是默认显示
排序
db.集合.find().sort({key:1,key2:-1}) //升
db.集合.find().sort({key:-1}) //降
限定
db.集合.find().limit(number) //限定 找几条数据
db.集合.find().skip(number) //跳过 跳过几条数据
db.集合.findOne()//找第一个
db.集合.find().limit(1) //查询第一条
Nodejs中mongodb的使用
============================================================================
mongodb在Nodejs中的操作
- 安装+引入
npm install mongodb -S
var mysql = require('mongodb')
- 实例化并连接
let mongoCt = mongodb.MongoClient
mongoCt.connect('协议://地址:端口',回调(err,client)) err 错误 client链接后的客户端
- 链接库和集合
let db = client.db('库名')
let user = db.collection('集合名')
- 集合操作
//user.API() 集合操作 返回 对象
//增
insertOne(对象数据,(err,res)=>{}) //res = 对象
insertMany(arr数据,(err,res)=>{}) //res = 对象
//res.result.n 结果 ok 状态
//res.ops内容 数组
//result.insertedId 插入后的id
//删:
deleteOne({条件},(err,result)=>{})
//改:
updateOne({条件},{更新后},(err,res)=>{})
updateMany({条件},{更新后},(err,res)=>{})
updateMany({条件},{更新后},{配置},(err,res)=>{})
//配置: upsert:true 插入 projection:true 全局替换
//查:
user.find({条件},{skip:1,limit:1,projection:{key:1}},(err,result)=>{result=对象})
user.find({条件},{projection:{key:0}}).toArray((err,result)=>{reulst==arr})
user.countDocuments((err,num)=>{num返回数量})
//排
user.find(…).sort({key:-1}).toArray…
user.find({},{projection:{},sort:{key:-1}}).toArray…
简单使用
操作步骤
安装+引入
npm install mongodb -S
var mysql = require(‘mongodb’);
实例化并连接
let mongoCt = mongodb.MongoClient;
mongoCt.connect(‘协议://地址:端口’,回调(err,client)) //err 错误 client链接后的客户端
链接库和集合
let db = client.db(‘库名’)
let user = db.collection(‘集合名’);
集合操作
//user.API() 集合操作 返回 对象
//增
insertOne(对象数据,(err,res)=>{}) //res = 对象
insertMany(arr数据,(err,res)=>{}) //res = 对象
//res.result.n 结果 ok 状态
//res.ops内容 数组
//result.insertedId 插入后的id
//删:
deleteOne({条件},(err,result)=>{})
//改:
updateOne({条件},{更新后},(err,res)=>{})
updateMany({条件},{更新后},(err,res)=>{})
updateMany({条件},{更新后},{配置},(err,res)=>{})
//配置: upsert:true 插入 projection:true 全局替换
//查:
user.find({条件},{skip:1,limit:1,projection:{key:1}},(err,result)=>{result=对象})
user.find({条件},{projection:{key:0}}).toArray((err,result)=>{reulst==arr})
user.countDocuments((err,num)=>{num返回数量})
//排
user.find(…).sort({key:-1}).toArray…
user.find({},{projection:{},sort:{key:-1}}).toArray…
关闭库
client.close()
Nodejs+mongodb代码
- 先在mongodb里创建库student
- 再创建其下的集合user
- 插入数据
- 查看
Nodejs+mongodb
// 1.安装引入
const mongodb = require(‘mongodb’)
// 2.实例化
const mongoCt = mongodb.MongoClient
// 3.连接 mongodb 默认端口 27017 回调 err 错误 client 连接后的客户端
mongoCt.connect(‘mongodb://127.0.0.1:27017’, { useUnifiedTopology: true },(err, client) => {
if (!err) {
// 4.链接库
let db = client.db(‘student’)
// 5.链接集合
let user = db.collection(‘user’)
// 6.集合相关操作 user.API() 集合操作 返回 对象
// 增
// insertOne(对象数据,(err,res)=>{}) //res = 对象
// user.insertOne({“username” : “熊大”, “age” : “17”, “address” : “树林”},(err,res)=>{
// if(!err){
// // console.log(res)
// console.log(res.result.n) //结果 ok 1
// console.log(res.ops)// 数组
// /* [
// {
// username: ‘熊大’,
// age: ‘17’,
// address: ‘树林’,
// _id: 5e6f574fa9dc53365059251d
// }
// ]*/
// console.log(res.insertedId)// 插入后的id 5e6f575ea8e1d721fc88552c
// // 7.关闭链接 要在异步回调里关闭链接 否则会执行不了集合相关操作
// client.close()
// }
// })
// user.insertMany([{“username” : “李二”, “age” : “25”, “address” : “北京”},
// {“username” : “刘彦”, “age” : “17”, “address” : “上海”}],(err,res)=>{
// console.log(res.ops)
// /*
// [
// {
// username: ‘李二’,
// age: ‘25’,
// address: ‘北京’,
// _id: 5e6f59f436b34d37a4f2116f
// },
// {
// username: ‘刘彦’,
// age: ‘17’,
// address: ‘上海’,
// _id: 5e6f59f436b34d37a4f21170
// }
// ]
// */
// console.log(res.insertedIds)//{ ‘0’: 5e6f59f436b34d37a4f2116f, ‘1’: 5e6f59f436b34d37a4f21170 }
// // 7.关闭链接
// client.close()
// })
// 删除
//deleteOne({条件},(err,result)=>{})
//deleteMany({条件},(err,result)=>{})
// user.deleteMany({username:‘熊大’},(err,res)=>{
// console.log(res.ops)
// console.log(res.insertedIds)
// // 7.关闭链接
// client.close()
// })
// 更新
//updateMany({条件},{更新后},{配置},(err,res)=>{}) 配置: upsert:true 插入 projection:true 全局替换
// user.updateMany(
// {age:{$gt:22}},
// {$set:{address:“人民公园”}}
// // { upsert:true},
// // {projection:true }
// ,(err,result)=>{
// console.log(“result”,result)
// // 7.关闭链接
// client.close()
// })
// 查询操作
// user.find({条件},{skip:1,limit:1,projection:{key:1}},(err,result)=>{result=对象})
// user.find({条件},{projection:{key:0}}).toArray((err,result)=>{reulst==arr})
// user.countDocuments((err,num)=>{num返回数量})
// user.find({age:{$gt:30}},(err,res)=>{
// res.toArray((err,data)=>{
// console.log(‘data’,data)
// /*
// data [
// {
// _id: 5e6f5ead75428112e5cc9c47,
// username: ‘黄河’,
// age: 35,
// address: ‘人民公园’
// },
// {
// _id: 5e6f5ead75428112e5cc9c48,
// username: ‘李而’,
// age: 33,
// address: ‘人民公园’
// }
// ]
// */
// 7.关闭链接
// client.close()
// })
// })
// user.find({age:{$gt:30}}).toArray((err,data)=>{
// console.log(‘data’,data)
// /*
// data [
// {
// _id: 5e6f5ead75428112e5cc9c47,
// username: ‘黄河’,
// age: 35,
// address: ‘人民公园’
// },
// {
// _id: 5e6f5ead75428112e5cc9c48,
// username: ‘李而’,
// age: 33,
// address: ‘人民公园’
// }
// ]
// */
// 7.关闭链接
// client.close()
// })
// 排序与分页
user.find({},{
skip:3, //跳过两个数据
limit:2, //拿到两个数据
sort:{age:1,_id:-1} // 先按age升序排列 age若相同 则按_id降序排列
}).toArray((err,res)=>{
console.log(res)
/*
[
{
_id: 5e6f5ead75428112e5cc9c40,
username: ‘张三’,
age: 18,
address: ‘人民公园’
},
{
_id: 5e6f5ead75428112e5cc9c44,
username: ‘诸葛亮’,
age: 19,
address: ‘宁夏’
}
]
*/
// 7.关闭链接
client.close()
})
} else {
console.log(‘库连接失败…’, err)
}
})
express+mongodb
- 数据库中的内容
//安装引入 express mongodb
const express = require(‘express’)
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
Vue 面试题
1.Vue 双向绑定原理
2.描述下 vue 从初始化页面–修改数据–刷新页面 UI 的过程?
3.你是如何理解 Vue 的响应式系统的?
4.虚拟 DOM 实现原理
5.既然 Vue 通过数据劫持可以精准探测数据变化,为什么还需要虚拟 DOM 进行 diff 检测差异?
6.Vue 中 key 值的作用?
7.Vue 的生命周期
8.Vue 组件间通信有哪些方式?
9.watch、methods 和 computed 的区别?
10.vue 中怎么重置 data?
11.组件中写 name 选项有什么作用?
12.vue-router 有哪些钩子函数?
13.route 和 router 的区别是什么?
14.说一下 Vue 和 React 的认识,做一个简单的对比
15.Vue 的 nextTick 的原理是什么?
16.Vuex 有哪几种属性?
17.vue 首屏加载优化
18.Vue 3.0 有没有过了解?
19.vue-cli 替我们做了哪些工作?
全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**
[外链图片转存中…(img-ISML28Ig-1710829846823)]
[外链图片转存中…(img-MT7QscDw-1710829846824)]
[外链图片转存中…(img-gjOD0H7A-1710829846825)]
[外链图片转存中…(img-xhQDQHO3-1710829846826)]
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
[外链图片转存中…(img-hNcZqwcU-1710829846826)]
Vue 面试题
1.Vue 双向绑定原理
2.描述下 vue 从初始化页面–修改数据–刷新页面 UI 的过程?
3.你是如何理解 Vue 的响应式系统的?
4.虚拟 DOM 实现原理
5.既然 Vue 通过数据劫持可以精准探测数据变化,为什么还需要虚拟 DOM 进行 diff 检测差异?
6.Vue 中 key 值的作用?
7.Vue 的生命周期
8.Vue 组件间通信有哪些方式?
9.watch、methods 和 computed 的区别?
10.vue 中怎么重置 data?
11.组件中写 name 选项有什么作用?
12.vue-router 有哪些钩子函数?
13.route 和 router 的区别是什么?
14.说一下 Vue 和 React 的认识,做一个简单的对比
15.Vue 的 nextTick 的原理是什么?
16.Vuex 有哪几种属性?
17.vue 首屏加载优化
18.Vue 3.0 有没有过了解?
19.vue-cli 替我们做了哪些工作?
[外链图片转存中…(img-Wkw7LsGW-1710829846826)]
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
- 数据库中的内容
- 查看
- 插入数据
- 再创建其下的集合user
还没有评论,来说两句吧...