Nodejs中mongodb的使用及封装,35岁之后找不到工作怎么办

集合(表)操作

建: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中的操作

  1. 安装+引入

npm install mongodb -S

var mysql = require('mongodb')

  1. 实例化并连接

let mongoCt = mongodb.MongoClient

mongoCt.connect('协议://地址:端口',回调(err,client)) err 错误 client链接后的客户端

  1. 链接库和集合

let db = client.db('库名')

let user = db.collection('集合名')

  1. 集合操作

//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前端开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
img

结束

一次完整的面试流程就是这样啦,小编综合了腾讯的面试题做了一份前端面试题PDF文档,里面有面试题的详细解析,分享给小伙伴们,有没有需要的小伙伴们都去领取!

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

//安装引入 express mongodb

const express = require(‘express’)

小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

[外链图片转存中…(img-Vxqi9V9C-1710829747029)]
[外链图片转存中…(img-ptbfqGMq-1710829747030)]
[外链图片转存中…(img-lL9xHaoq-1710829747030)]
[外链图片转存中…(img-2ZSpkx1r-1710829747030)]

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
[外链图片转存中…(img-CWxBd9mA-1710829747031)]

结束

一次完整的面试流程就是这样啦,小编综合了腾讯的面试题做了一份前端面试题PDF文档,里面有面试题的详细解析,分享给小伙伴们,有没有需要的小伙伴们都去领取!

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

  • 12
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值