1.MongoDB增删改查操作 1.1 创建集合 创建集合分为两步,一是对对集合设定规则,二是创建集合,创建mongoose.Schema构造函数的实例即可创建集合。...数据库的所有操作都是异步操作 1.使用create方法创建文档 通过回调函数的方法获取异步API // 向集合中插入文档 Course.create({ name: 'JavaScript',...mongodb提供的API也支持promise对象 ? ?...找到用户 将用户信息更改为最新的 当用户访问/delete时,实现用户删除功能 实现代码: user.js const mongoose = require('mongoose');...= require('mongoose'); // 数据库连接 27017是mongodb数据库的默认端口 mongoose.connect('mongodb://localhost/playground
简介 本篇主要实现以下目标: 新建goods路由 使用mongoose连接数据库 实现商品列表查询 1....使用mongoose连接数据库 step1 下载mongoose npm install mongoose --save step2 连接mongodb数据库 修改goods.js如下: var express..., function (req, res, next) { res.send('welcome to goods'); }); module.exports = router; 当然,数据库连接的逻辑可以不写在...实现商品列表查询 step1 先建goods集合对应的model 在根目录下新建一个目录models存放所有的model,新建good.js: ?...': '' } } }, ... } step2 将mock请求修改为api请求 修改GoodsList.vue文件的getPrdList方法如下: getPrdList
}) #mongoose基本使用 #mongoose的几个新的对象 在MongoDB中,多个Document可以组成Collection(以下简称集合),多个集合又可以组成数据库。...mongoose中任何任何事物都是从Schema开始的。每一个Schema对应MongoDB中的一个集合(collection)。Schema中定义了集合中文档(document)的样式。...: String Number Date Boolean Buffer ObjectId Mixed Array Model—— 由Schema构造生成的模型,根据Schema定义的数据类型规则,可操作具体的符合改规则的数据...#创建model(集合) let personModel= mongoose.model('person', personSchema); person:数据库中的集合名称,当我们对其添加数据时如果person...}else{ throw err; } }); #mongoose 插入和查询 mongoose查找数据的一些方法: https://mongoosejs.com/docs/api.html
的API接口请求利器 - rest client,这篇视频快速的讲解了VSCode中Rest-Client的使用,具体的还可以看VSCode中Rest-Client的使用教程。...}) 在NodeJs中对MongoDB数据库进行增删改查 连接MongoDB数据库 新建一个MongoDB数据库模型,命名为express-test const mongoose = require('...({ title: { type: String, unique: true} }) // 定义MongoDB数据模型 (表=》集合) const Product = mongoose.model...http请求 VScode中的Rest-Client有一个规定,就是http请求文件必须以http为后缀,比如说tets.http文件。...({ title: { type: String, unique: true} }) // 定义MongoDB数据模型 (表=》集合) const Product = mongoose.model
mongoose 核心概念 schema 约束字段/列数据 model模型 对应 集合 后期用它来实现数据增删改查 简介 安装 npm i mongoose schema 英文网: http://mongoosejs.com...中文网: http://mongoosejs.net/ 作用:用来约束MongoDB文档数据(哪些字段必须,哪些字段可选的) model 一个模型对应一个集合。...后面通过模型管理集合中的数据。...使用 基本模型 // 一、导入模块 const mongoose = require("mongoose"); // 二、连接数据库 const db = mongoose.createConnection...// 一、导入模块 const mongoose = require("mongoose"); // 二、连接数据库 const db = mongoose.createConnection( "mongodb
创建集合 创建集合分为两步,-是对对集合设定规则,二是创建集合,创建mongoose.Schema构造函数的实例即可创建集合。...}).then(result => console.log(result)) // 更新多个 User.updateMany({查询条件}, {要更改的值}).then(result => console.log...通常不同集合的数据之间是有关系的,例如文章信息和用户信息存储在不同集合中,但文章是某个用户发表的 要查询文章的所有信息包括发表用户,就需要用到集合关联。...// 关联集合 const mongoose = require('mongoose'); // 连接数据库 mongoose.connect('mongodb://localhost/playground...'); }).catch((error) => { console.log(error, '数据库连接失败'); }); // 创建集合规则 const userSchema = new mongoose.Schema
(err => console.log(err, '数据库连接失败')); // 创建集合规则 const userSchema = new mongoose.Schema({ name: String...}).then(result => console.log(result)) // 更新多个 User.updateMany({查询条件}, {要更改的值}).then(result => console.log...(result)) // 引入mongoose第三方模块 用来操作数据库 const mongoose = require('mongoose'); // 数据库连接 mongoose.connect(...数据库连接成功')) // 连接失败 .catch(err => console.log(err, '数据库连接失败')); // 创建集合规则 const userSchema =...hobbies: [String] }); // 使用规则创建集合 const User = mongoose.model('User', userSchema); // 找到要删除的文档并且删除 /
也需要一个odm工具来方便更好的操作。而mongoose就是i 一个良好的工具。 mongoose是一个优雅的nodejs对象文档模型。它是由关系型数据库的思想去应用到非关系型数据库。...("mongoose"); // 1.连接 mongoose.connect("mongodb://localhost:27017/test", { useNewUrlParser: true })...: const mongoose = require("mongoose"); // 1.连接 mongoose.connect("mongodb://localhost:27017/test", {...Keystone在官网上声称:在Node.js中,用Keystone搭建数据驱动的网站、应用程序和API是最容易的。...最牛逼的地方就是根据你定义的模型自动帮你实现后台管理界面,创建、管理、编辑和删除等,这得省掉很多功夫了。
1.创建集合 创建集合分为两步,-是对对集合设定规则,二是创建集合,创建mongoose.Schema构造函数的实例即可创建集合。...在项目根目录下输入以下命令导入 mongoimport -d 数据库名称 -c 集合名称 --file 要导入的数据文件 4.查询文档 find()方法 返回一组文档 // 根据条件查找文档(条件为空则查找所有文档...使用id对集合进行关联 使用populate方法进行关联集合查询 // 关联集合 const mongoose = require('mongoose'); // 连接数据库 mongoose.connect...'); }).catch((error) => { console.log(error, '数据库连接失败'); }); // 创建集合规则 const userSchema = new mongoose.Schema...案例:用户信息增删改查 搭建网站服务器,实现客户端与服务器端的通信 连接数据库,创建用户集合,向集合中插入文档 当用户访问/list时, 将所有用户信息查询出来 将用户信息和表格HTML
如果我们跟着 HyperMedia 指向的连接请求下去,我们就能得到我们页面上所需的所有信息。...://api/movie/1”]} GET /api/movie/1/reviews [ { content: “Its’s as good as…”, score: 9 }] 最后根据需要...,我们要将所有包含需要信息的 API 端点都请求一遍,对于移动端来说,发起一个 HTTP 请求还是比较消耗资源的,特别是在一些网络连接质量不佳的情况下,一下发出多个请求反而会导致不好的体验。...const mongoose = require('think-mongoose');module.exports = [mongoose(think.app)]; 接下来,在 adapter.js 中配置数据库连接...借助 ThinkJS 强大的数据 模型功能,我们只需要以数据集合的名称作为文件名建立文件并定义模型即可使用,相比 mongoose 原生的操作更为简单。
(); //30.根据工资升序查询 db.section.find().sort({wages: 1, cno:1}); //31.根据工资降序查询 db.section.find().sort({...mongoose的相关概念 mongoose中提供了几个新的对象: + Schema(模式对象):Schema对象定义约束了数据库中的文档结构 + Model:Model对象作为集合中的所有文档的表示...,相当于MongoDB数据库中的集合collection + Document: Document表示集合中的具体文档 mongoose使用步骤 1.下载安装Mongoose: npm i mongoose...监听MongoDB数据库的连接状态:在mongoose对象中,有一个属性叫做connection,该对象表示的就是数据库连接, 通过监视该对象的状态,可以来监听数据库的连接与断开 mongoose.connection.once...err) { console.log(count); } }); 遇到问题可以查看api MongoDB教程 mongoose的API文档
Mongoose的闪光点 架构定义:Mongoose提供了基于架构的解决方案,这意味着你可以在应用层定义一个固定的架构,最终映射成MongoDB的集合(collection)。...数据验证:内置的数据验证功能允许你定义哪些类型的数据可以被添加或更改在数据库中。这样不仅保证了数据的一致性,也避免了无效数据的录入。...代码简洁性:帮助开发者避免冗余,维护清晰、简洁的代码结构。 Lodash的应用场景 比如你正在开发一个Web应用,需要对用户的数据集合进行复杂的处理。...零依赖模块:作为一个零依赖模块,Dotenv不会增加程序的体积,保持应用的轻量性。 Dotenv的应用场景 比如你正在开发一个Web应用,需要使用不同的数据库连接字符串或API密钥。...使用Dotenv,你可以在不同的开发环境中灵活地管理这些配置,而无需更改代码。 又或者,在团队协作开发中,每个成员可能需要不同的环境设置。
现在已经有了 npm 的日志记录模块。这些模块可以将日志存储在不同格式或级别的文件中。我们将使用流行的ORM Mongoose 讨论 Node.js Express 程序中的 API 日志记录。...那么如何创建一个 Mongoose 插件,以更清洁的方式为你进行记录并简化 API 日志? Mongoose 中的插件是什么? 在 Mongoose 中,模式是可插入的。...Category: API 类别。例如医生和患者。它更像是一个阶级。 CreatedBy:正在使用或调用 API 的用户。...Diff: 这是主要属性,它是两个 JSON 的 diff 如果你希望对自己的应用程序有意义,可以添加更多字段,也可以根据需要更改和升级架构。...isEqual:此方法支持比较数组、数组缓冲区、布尔值、日期对象、错误对象、映射、数字、对象、正则表达式、集合、字符串、符号和类型化数组。
// 连接数据库,创建用户集合,向集合中插入文档 // 当用户访问/list时,将所有用户信息查询出来 // 实现路由功能 // 呈现用户列表页面 // 从数据库中查询用户信息...// 2.接受客户端传递过来的修改信息 找到用户 将用户信息更改为最新的 // 当用户访问/delete时,实现用户删除功能 const http = require('http...= require('mongoose'); // 数据库连接 27017是mongodb数据库的默认端口 mongoose.connect('mongodb://localhost/playground...')); user.js const mongoose = require('mongoose'); // 创建用户集合规则 const userSchema = new mongoose.Schema...返回集合构造函数 const User = mongoose.model('User', userSchema); module.exports = User;
_id 该属性为文档的唯一标识,不可重复,根据时间戳+机器码生成 ObjectId(),确保数据唯一 // 向 test 数据库中 person 集合插入一个新数据 {name:"张三",age:"18...(27017),可以省略不写 监听 MongoDB 数据库的连接状态 mongoose 对象中有一个 connection 属性,表示数据库连接 通过监视该对象,可以来监听数据库的连接与断开 mongoose.connection.once...('open',function(){}) 数据库连接成功事件 mongoose.connection.once('close',function(){}) 数据库连接断开事件 使用 mongoose.disconnect...() 断开数据库连接(一般不使用) 一般只需要连接一次,连接一次以后,除非停止服务器,否则连接不会断开 Mongoose 对象 Schema(模式对象) 定义约束了数据库中的文档结构 Model..._id } }); 模块化连接 定义一个模块连接数据库 // tools/conn_mongo.js const mongoose = require('mongoose'); mongoose.connect
_id 该属性为文档的唯一标识,不可重复,根据时间戳+机器码生成 ObjectId(),确保数据唯一 // 向 test 数据库中 person 集合插入一个新数据 {name:"张三",age:"18...'); 如果使用默认端口号(27017),可以省略不写 监听 MongoDB 数据库的连接状态 mongoose 对象中有一个 connection 属性,表示数据库连接 通过监视该对象,可以来监听数据库的连接与断开...){}) 数据库连接断开事件 使用 mongoose.disconnect() 断开数据库连接(一般不使用) 一般只需要连接一次,连接一次以后,除非停止服务器,否则连接不会断开 Mongoose...,通过 Model 才能对数据库进行操作 // mongoose.model(modelName, Schema); // modelName 是要映射的集合名 // mongoose 会自动将集合名变成复数..._id } }); 模块化连接 定义一个模块连接数据库 // tools/conn_mongo.js const mongoose = require('mongoose'); mongoose.connect
2.制作流程 1.建立项目文件夹并生成项目描述文件 2.创建网站服务器实现客户端和服务器端通信 3.连接数据库并根据需求设计学员信息表 4.创建路由并实现页面模板呈递 5.实现静态资源访问 6.实现学生信息添加功能...= serveStatic('public') app.on('request', () => { serve(req, res,() => { }) }) 5.添加学生信息 1.在模板的表单中指定请求地址与请求方式...// 引入数据库模块 const mongoose = require('mongoose'); // 连接数据库 mongoose.connect('mongodb://localhost/playground....catch((error) => console.log(error, '数据库连接失败')); 3.创建数据库集合 const mongoose = require('mongoose'); //...const Student = mongoose.model('Student', studentsSchema); // 导出学生集合 module.exports = Student; 4.实现路由功能
err, '数据连接失败')) //创建集合 先设定规则 再创建 const courseSchema = new mongoose.Schema({ name: String, author...')) // 连接失败 .catch(err => console.log(err, '数据库连接失败')); // 创建集合规则 const userSchema = new mongoose.Schema...const User = mongoose.model('User', userSchema); // 查询用户集合中的所有文档 User.find().then(result => console.log...(err, '数据库连接失败')); // 创建集合规则 const userSchema = new mongoose.Schema({ name: String, age: Number, email...')) // 连接失败 .catch(err => console.log(err, '数据库连接失败')); // 用户集合规则 const userSchema = new mongoose.Schema
'; /** * 连接 */ mongoose.connect(DB_URL); /** * 连接成功 */ mongoose.connection.on('connected', function...其它事件可以自行查看:http://mongoosejs.com/docs/api.html#connection_Connection 这是最简单的连接字符串,当然还有其它形式,比如:连接密码、数据库连接设置...、集群方式连式等等,这里解释了,用着了时候自行查询API文档 http://mongoosejs.com/docs/api.html#index-js Schema schema是mongoose...连接 */ mongoose.connect(DB_URL); /** * 连接成功 */ mongoose.connection.on('connected', function () {... $center 范围醒询,圆形范围(基于LBS) $centerSphere 范围查询,球形范围(基于LBS) $slice 查询字段集合中的元素(比如从第几个之后,第
1.2 什么是数据库 数据库即存储数据的仓库,可以将数据进行有序的分门别类的存储。它是独立于语言之外的软件,可以通过API去操作它。 常见的数据库软件有:mysql、mongoDB、oracle。...1.5 数据库相关概念 在一个数据库软件中可以包含多个数据仓库,在每个数据仓库中可以包含多个数据集合,每个数据集合中可以包含多条文档(具体的数据)。...术语 解释说明 database 数据库,mongoDB数据库软件中可以建立多个数据库 collection 集合,一组数据的集合,可以理解为JavaScript中的数组 document 文档,一条具体的数据...,可以理解为JavaScript中的对象 field 字段,文档中的属性名称,可以理解为JavaScript中的对象属性 1.6 Mongoose第三方包 使用Node.js操作MongoDB数据库需要依赖...1.8 数据库连接 使用mongoose提供的connect方法即可连接数据库。