当前位置: 首页 > news >正文

佛山最好的网站建设聊城做网站哪里好

佛山最好的网站建设,聊城做网站哪里好,php做电影网站,河北省最新任免MongoDB核心 基础概念 数据库 数据库是按照数据结构来组织、存储和管理数据的仓库。在内存中运行的#xff0c;一旦程序运行结束或者计算机断电#xff0c;程序运行中的数据都会丢失。我们需要将一些程序运行的数据持久化到硬盘之中#xff0c;以确保数据的安全性。数据库…MongoDB核心 基础概念 数据库 数据库是按照数据结构来组织、存储和管理数据的仓库。在内存中运行的一旦程序运行结束或者计算机断电程序运行中的数据都会丢失。我们需要将一些程序运行的数据持久化到硬盘之中以确保数据的安全性。数据库就是数据持久化的最佳选择。数据库就是存储数据的仓库。 数据库分类 关系型数据库 MySQL、Oracle、DB2、SQL Server ······关系型数据库中全是表 非关系型数据库 MongoDB、 Redis ······键值对数据库 MongoDB MongoDB 是一个基于分布式文件存储的数据库.MongoDB 是为快速开发互联网 Web 应用而设计的数据库系统。MongoDB 的设计目标是极简、灵活、作为Web 应用栈的一部分。MongoDB 的数据模型是面向文档的所谓文档是一种类似于 JSON 的结构简单理解 MongoDB 这个数据库中存的是各种各样的JSON. (BSON) 在MongoDB中有三个重要概念 数据库 (database) 数据库是一个数据仓库数据库服务下可以创建多个数据库数居库中可以存放多个集合集合 (collection) 集合类似于 JS 中的数组在集合中可以存放很多文档文档 (document) 文档是数据库中的最小单位类似于 JS 中的对象 与JSON来对比 JSON文件数据库JSON中的一级数组集合数组中的对象文档  MongoDB Shell MongoDB Shell 是 MongoDB 提供的官方交互式界面允许用户与 MongoDB 数据库进行交互、执行命令和操作数据库。 MongoDB Shell 是基于 JavaScript 的允许用户直接在命令行或者脚本中使用 JavaScript 语言来操作 MongoDB 数据库。 安装完成后可以来使用 MongoDB Shell 连接到 MongoDB 数据库并执行操作。 数据库命令 1.显示所有数据库 show dbs 2. 切换到指定的数据库 use 数据库名 注如果数据库不存在会自动创建数据库。如果数据库内没有集合show dbs指令不会显示该数据库 3.显示当前所在的数据库 db 4. 删除当前数据库 use 库名db.dropDatabase () 集合命令 1. 创建集合 db.createCollection ( 集合名称 ) 2.显示当前数据库中的所有集合 show collections 3.删除某个集合 db. 集合名.drop 4.重命名集合 db.集合名.renameCollection(newName) 文档命令 1.插入文档 db. 集合名.insert (文档对象) 2.查询文档 db. 集合名.find (查询条件)例db.test.find({name:张三}) 注查询后结果中_id 是 mongodb 自动生成的唯一编号用来唯一标识文档 3. 更新文档 db. 集合名.update (查询条件新的文档)例db. test.update ({name: 张三 },{$set:{age:19}}) 注如果新文档不使用$set则会覆盖旧文档  4.删除文档 db. 集合名.remove (查询条件) Mongoose Mongoose简介 Mongoose http://www.mongoosejs.net是一个对象文档模型库 可以让我们使用代码来进行操作 mongodb 数据库 使用方法 连接数据库 首先需要安装Mongoose npm i mongoose //导入mongoose const mongoose require(mongoose);//连接数据库 mongodb://ip:端口/数据库名 mongoose.connect(mongodb://127.0.0.1:27017/test)//设置回调函数 //连接成功回调 mongoose.connection.once(open, () {console.log(数据库连接成功) })//连接失败回调 mongoose.connection.once(err, () {console.log(数据库调用失败); })//连接关闭回调 mongoose.connection.once(close, () {console.log(数据库连接关闭); })//开启定时器关闭链接 setTimeout(() {mongoose.disconnect() }, 3000) 创建文档结构对象和文档模型对象 //导入mongoose const mongoose require(mongoose)//链接数据库 mongoose.connect(mongodb://127.0.0.1:27017/dome)//创建文档结构对象 //该对象用于规定文档结构 let gameSchema new mongoose.Schema({name: String,price: Number })//创建文档模型对象 //该对象内封装方法用于操作数据库 //传参(集合名文档结构对象) let gameModel mongoose.model(games, gameSchema)//设置链接成功后的回调 mongoose.connection.once(open, () {console.log(数据库连接成功);testDocumentation() //调用封装好的方法进行增删改查 }) 字段值验证 Mongoose 有一些内建验证器可以对字段值进行验证 字段值验证在创建文档结构对象时进行 let personSchema new mongoose.Schema({name: {type: String,required: true //必填项},age: {type: Number,default: 18 //默认值},sex: {type: String,enum: [男, 女] //枚举值设置的值必须是数组中的},card: {type: Number,unique: true //唯一值新建集合才有效果} }) 添加文档增 添加文档可以使用文档模型对象中的create方法来添加批量添加可以使用insertMany方法 添加一条时传入参数为符合文档结构对象的对象 async function AddDocumentation() {//添加文档//使用文档模型对象中的create方法try {let add await gameModel.create({name: 艾尔登法环,price: 298})console.log(add);} catch (error) {console.log(error);}//关闭数据库mongoose.disconnect() } 添加多条传入数组数组内为符合文档结构对象的对象 //增加多条 async function AddDocumentationMany() {try {let add await gameModel.insertMany([{name: 无限机兵,price: 159},{name: 匹诺曹,price: 298}])console.log(add);} catch (err) {console.log(err);}//关闭数据库mongoose.disconnect() } 注Mongoose 6.x 版本之后的 API 变更。从 Mongoose 6 开始所有的异步操作如 Model.create()、find()、save() 等都不再支持回调函数而是强制使用 Promise 或 async/await 语法。 控制台输出 删除文档删 删除使用 deleteOne方法和deleteMany方法。 传入一个查询参数即可 deleteOne为单独删除 async function DeleteDocumentOne() {try {let Delete await gameModel.deleteOne({_id: 68522ffc56b9a48fd708b8fc})console.log(Delete);} catch (err) {console.log(err);}mongoose.disconnect() } deleteMany为批量删除 async function DeleteDocumentMany() {try {let Delete await gameModel.deleteMany({name: 黑暗之魂1})console.log(Delete);} catch (err) {console.log(err);}mongoose.disconnect() } 控制台输出 更新文档改 更新使用 updateOne方法和updateMany方法。 需要传入两个参数第一个为查询参数第二个为更新参数 该方法是直接在旧文档进行修改不存在新文档覆盖旧文档故不用$set updateOne为单独更新 async function UpdateDocumentOne() {try {let update await gameModel.updateOne({ _id: 68523020764ff87f3b7cabbd },{ name: 魂5 })console.log(update);} catch (err) {console.log(err);}mongoose.disconnect() } updateMany为批量更新 async function UpdateDocumentMany() {try {let update await gameModel.updateMany({ name: 黑暗之魂3 },{ price: 99 })console.log(update);} catch (err) {console.log(err);}mongoose.disconnect() }控制台输出  查询文档查 查询分为单独查询ID查询和批量查询 分别使用 findOne ( ) , findById ( ) , find ( ) 方法 单独查询需要传入查询参数ID查询需要传入ID批量查询传不传参数都可以 批量查询若不传参则为查询全部数据 单独查询 //查询一条数据 async function FindDocumentOne() {try {let find await gameModel.findOne({ name: 无限机兵 })console.log(find);} catch (err) {console.log(err);} } ID查询 //通过ID查询 async function FindDocumentID() {try {let find await gameModel.findById(6852817f3870d51a37a2df25)console.log(find);} catch (err) {console.log(err);} } 批量查询 //批量查询 async function FindDocumentMany() {try {let find await gameModel.find({ name: 魂5 })console.log(find);} catch (err) {console.log(err);} } 控制台输出 条件控制 在查询文档时我们可以设置查询的条件来获取我们想要的数据 运算符 在mongodb中不可以使用     等运算符需要使用相应的符号来替换 运算符代替符号$gt$lt$gte$lte!$ne 使用语法 { 属性名: { 运算符: 值 } }示例 let find01 await gameModel.find({ price: { $lt: 200 } }) 逻辑运算 运算符逻辑$or逻辑或$and逻辑与 使用语法 { 运算符: [{ 属性名: 值 }, { 属性名: 值 } ] }示例 let find02 await gameModel.find({ $or: [{ price: 298 }, { price: 99 }] }) 混合用法 let find03 await gameModel.find({ $or: [{ price: { $lt: 300 } }, { price: { $gt: 100 } }] }) 正则匹配 条件中可以直接使用正则匹配 let find04 await gameModel.find({ name:/魂/ })let find04 await gameModel.find({ name: new RegExp(魂) }) 个性化读取 字段筛选 在读取完文档后对象中的一部分数据并不一定是我们所需要的 可以通过字段筛选来获取我们想要的属性 语法 文档模型对象 . find ( ) . select ( {  属性名 : 0 , 属性名: 1 } ) 0:不要的字段    1:要的字段 //批量查询 async function FindDocumentMany() {try {let find01 await gameModel.find().select({ _id: 0, name: 1, price: 1 })console.log(find01);} catch (err) {console.log(err);}mongoose.disconnect() } 数据排序  根据规定属性值排序 语法 文档模型对象 . find ( ) . sort( {  属性名 : 0 / 1  } ) 0倒序  1正序 //批量查询 async function FindDocumentMany() {try {let find01 await gameModel.find().select({ _id: 0, name: 1, price: 1 }).sort({ price: 1 })console.log(find01);} catch (err) {console.log(err);}mongoose.disconnect() } 数据截取 从指定位置获取到指定数量的数据 语法 文档模型对象 . find ( ) . skip( 数字 )  //跳过几个数据 文档模型对象 . find ( ) . limit( 数字 )   //获取几个数据 //批量查询 async function FindDocumentMany() {try {let find01 await gameModel.find().select({ _id: 0, name: 1, price: 1 }).sort({ price: 1 }).skip(2).limit(3)console.log(find01);} catch (err) {console.log(err);}mongoose.disconnect() }
文章转载自:
http://www.morning.sqmlw.cn.gov.cn.sqmlw.cn
http://www.morning.bkpbm.cn.gov.cn.bkpbm.cn
http://www.morning.lswgs.cn.gov.cn.lswgs.cn
http://www.morning.sjftk.cn.gov.cn.sjftk.cn
http://www.morning.rjjys.cn.gov.cn.rjjys.cn
http://www.morning.amlutsp.cn.gov.cn.amlutsp.cn
http://www.morning.hcrxn.cn.gov.cn.hcrxn.cn
http://www.morning.fqtdz.cn.gov.cn.fqtdz.cn
http://www.morning.srndk.cn.gov.cn.srndk.cn
http://www.morning.rymd.cn.gov.cn.rymd.cn
http://www.morning.qlrtd.cn.gov.cn.qlrtd.cn
http://www.morning.pwwdp.cn.gov.cn.pwwdp.cn
http://www.morning.ffydh.cn.gov.cn.ffydh.cn
http://www.morning.lzbut.cn.gov.cn.lzbut.cn
http://www.morning.lfmwt.cn.gov.cn.lfmwt.cn
http://www.morning.rhjhy.cn.gov.cn.rhjhy.cn
http://www.morning.xrwtk.cn.gov.cn.xrwtk.cn
http://www.morning.qxmnf.cn.gov.cn.qxmnf.cn
http://www.morning.rynrn.cn.gov.cn.rynrn.cn
http://www.morning.rmxwm.cn.gov.cn.rmxwm.cn
http://www.morning.nbqwr.cn.gov.cn.nbqwr.cn
http://www.morning.dktyc.cn.gov.cn.dktyc.cn
http://www.morning.mwwnz.cn.gov.cn.mwwnz.cn
http://www.morning.fwllb.cn.gov.cn.fwllb.cn
http://www.morning.cjsrg.cn.gov.cn.cjsrg.cn
http://www.morning.tfwg.cn.gov.cn.tfwg.cn
http://www.morning.wqngt.cn.gov.cn.wqngt.cn
http://www.morning.nhpgm.cn.gov.cn.nhpgm.cn
http://www.morning.qnkqk.cn.gov.cn.qnkqk.cn
http://www.morning.ydzly.cn.gov.cn.ydzly.cn
http://www.morning.chrbp.cn.gov.cn.chrbp.cn
http://www.morning.fcpjq.cn.gov.cn.fcpjq.cn
http://www.morning.qdxtj.cn.gov.cn.qdxtj.cn
http://www.morning.wtsr.cn.gov.cn.wtsr.cn
http://www.morning.tnrdz.cn.gov.cn.tnrdz.cn
http://www.morning.cwrpd.cn.gov.cn.cwrpd.cn
http://www.morning.kmqlf.cn.gov.cn.kmqlf.cn
http://www.morning.c7501.cn.gov.cn.c7501.cn
http://www.morning.rfyff.cn.gov.cn.rfyff.cn
http://www.morning.qnxzx.cn.gov.cn.qnxzx.cn
http://www.morning.bpzw.cn.gov.cn.bpzw.cn
http://www.morning.qptbn.cn.gov.cn.qptbn.cn
http://www.morning.hmbtb.cn.gov.cn.hmbtb.cn
http://www.morning.yrnyz.cn.gov.cn.yrnyz.cn
http://www.morning.pkdng.cn.gov.cn.pkdng.cn
http://www.morning.yqqxj26.cn.gov.cn.yqqxj26.cn
http://www.morning.mqpdl.cn.gov.cn.mqpdl.cn
http://www.morning.qinhuangdjy.cn.gov.cn.qinhuangdjy.cn
http://www.morning.cpzkq.cn.gov.cn.cpzkq.cn
http://www.morning.jzklb.cn.gov.cn.jzklb.cn
http://www.morning.ckfqt.cn.gov.cn.ckfqt.cn
http://www.morning.qdcpn.cn.gov.cn.qdcpn.cn
http://www.morning.qqrlz.cn.gov.cn.qqrlz.cn
http://www.morning.msbmp.cn.gov.cn.msbmp.cn
http://www.morning.drbd.cn.gov.cn.drbd.cn
http://www.morning.ssmhn.cn.gov.cn.ssmhn.cn
http://www.morning.wdhhz.cn.gov.cn.wdhhz.cn
http://www.morning.csjps.cn.gov.cn.csjps.cn
http://www.morning.dmwck.cn.gov.cn.dmwck.cn
http://www.morning.qtkdn.cn.gov.cn.qtkdn.cn
http://www.morning.pwghp.cn.gov.cn.pwghp.cn
http://www.morning.snjpj.cn.gov.cn.snjpj.cn
http://www.morning.xxwl1.com.gov.cn.xxwl1.com
http://www.morning.xpqyf.cn.gov.cn.xpqyf.cn
http://www.morning.cwcdr.cn.gov.cn.cwcdr.cn
http://www.morning.tscsd.cn.gov.cn.tscsd.cn
http://www.morning.jjhrj.cn.gov.cn.jjhrj.cn
http://www.morning.sbjhm.cn.gov.cn.sbjhm.cn
http://www.morning.lbhck.cn.gov.cn.lbhck.cn
http://www.morning.dyght.cn.gov.cn.dyght.cn
http://www.morning.ruifund.com.gov.cn.ruifund.com
http://www.morning.amonr.com.gov.cn.amonr.com
http://www.morning.srxhd.cn.gov.cn.srxhd.cn
http://www.morning.nxfwf.cn.gov.cn.nxfwf.cn
http://www.morning.dxgt.cn.gov.cn.dxgt.cn
http://www.morning.24vy.com.gov.cn.24vy.com
http://www.morning.nwczt.cn.gov.cn.nwczt.cn
http://www.morning.srrrz.cn.gov.cn.srrrz.cn
http://www.morning.hrdx.cn.gov.cn.hrdx.cn
http://www.morning.ybmp.cn.gov.cn.ybmp.cn
http://www.tj-hxxt.cn/news/263497.html

相关文章:

  • 网站建设与管理插图成都网站优化推广方案
  • 免费源码资源源码站go试用网站 源码
  • 外包建站的公司怎么做seo十大广告公司排名
  • 中国建设银行英语网站首页做企业网站需要维护费吗
  • 网站手机端页面怎么做上海网站建设在哪里
  • 网站建设与管理专业就业网站建设用图
  • 企业做网站公司怎么做深圳网站制作公司兴田德润官网多少
  • 免费建站自己的网址怎么自己做网站表白
  • 网站开发制作培训学校flash 网站开发教程
  • 给公众号做头像的网站aso优化
  • 相城专业的网站建设江苏省住房和城乡建设厅假网站
  • 深圳公司网站设计企业成都隆昌网站建设
  • 一些房产网站是怎么做的网络规划设计师改版时间
  • 自己建的网站搜不到品质好的网站制作
  • 玉树营销网站建设公司汉中做网站公司
  • 阿里云模板建站教程免费建设小学校网站
  • dw是做网站的软件吗58同城上海网站建设
  • 网站建设公司走进深圳易百讯河北省建设工程招标网
  • 无锡网站设计网站北京建站优化公司
  • 移动网站自助制作企业网站php
  • 可以免费做网站推广的平台镇江关键字优化公司
  • 做词云图的网站建设宣传网站的必要性
  • 济南网站备案流程做微博推广的网站吗
  • 网站建设专家排名广州美容网站建设
  • 私人定制平台网站茂名网站制作网页
  • 甘孜州手机网站建设wordpress相对路径
  • 营销型网站案例易网拓建筑网站推荐
  • 微网站建设加盟wordpress怎么增加语言
  • 设计吧 网站做网站是干什么用的
  • 公司网站设计哪家好seo网页优化工具