在迷你全栈电商应用实战系列的第二篇教程中,我们将通过基于 Node.js 平台的 Express[1] 框架实现后端 API 数据接口,并且将数据存储在 MongoDB[2] 中。...初探脚手架代码 通过 express-generator 初始化的项目代码中,我们在整个教程中只需要了解下面四个文件: •app.js:Express 应用主文件•bin/www:用来开启服务器的脚本•...我们大致地看一下 app.js 和 routes/index.js 的内容,快速过一遍 Express 的基础知识。...接着我们在我们的 app.js 文件中导入 mongoose ,并且通过 mongoose 提供的接口连接我们的 MongoDB 数据库: // ... const mongoose = require...我们还可以看到,在我们的 productSchema 中,manufacturer 数据结构我们定义了一个 ref 属性,这是 MongoDB 为我们提供的类似关系数据库的外键功能,允许我们创建一对多的数据文档
本文示例使用 node + express + mongodb。 1. 初始化项目 (1)....安装如下依赖: package.json: "dependencies": { "config": "^3.2.2", // 读取项目配置 "express": "^4.17.1", // web...增加项目配置: 主要用于存放MongoDB的连接字符串和短链接的base url。...启动express: index.js: const express = require('express'); const connectDB = require('..../config/db'); const app = express(); // 连接MongoDB connectDB(); app.use(express.json({ extended:
深入浅出mongodb(一)和深入浅出mongodb(二)两篇文章讲述了一些安装和使用的基础知识,这篇文章小编将带你走进实战世界,真正体会项目中是怎么使用mongodb开发,让我们一起揭开它神秘的面纱。...准备工作 项目中我们用到的是基于node的express[1] 框架 npm i express-generator -g express-generator是一个express的应用生成器,可以快速的创建一个...安装完成上述指令之后,我们可以检查一下安装的express是否能用 express --version 接着我们就可以创建项目了,在创建项目的时候可以先express -h来查看一下,express命令的参数...useUnifiedTopology: true }); 设置跨域 在开发中,我们采用的都是前后端分离的状态,在本地的开发环境中我们无法避免的会遇到跨域[3]的情况,我们这里设置允许所有的源访问 app.use.../routes/api"); app.use("/api",api) 配置routes文件夹下的api.js文件 const express = require("express"); const router
本教程是 Node.js,Express 框架和 MongoDB 的快速指南,重点介绍基本的 REST 路由和基本的数据库交互。你将构建一个简单的 API 框架模版,然后可以将其用作任何应用。...在本教程中,我们将为创建一个网络笔记应用的后端骨架 —— 类似于Google Keep,能够执行所有的四个CRUD操作:创建、读取、更新和删除。...1// server.js 2const express = require('express'); 3const MongoClient = require('mongodb')....不幸的是,Express 无法自行处理 URL 编码的表单。...但是,如果你试图将字符串插入上面的 位置,它将无法正常工作。 MongoDB 不仅要求 ID 为字符串,还要求 ID 是一个对象,它们被之为 ObjectID。
bash 1mkdir express-demo 2npm init -f 3npm i express 4touch index.js COPY 编辑 index.js js 1const express...mongodb。...bash 1npm i mongoose COPY 在 js 中加入 js 1const mongoose = require("mongoose"); 2mongoose.connect("mongodb...js 1app.use(express.json()) // 开启 express 的 json 数据处理 2 3app.post('/names', async (req, res) => { 4...await Names.findOne({ name: params }); // find 接受一个对象 键: 数据库中的字段 值: 需要查找的字段 4 name.name = req.body.name
入口文件 生成 server.js入口文件 touvh server.js express 我们想要实现http通信 就要使用 express 安装express npm i express 此时可以发现...mongodb安装如果是Mac的请看 这篇文章 操作mongodb的插件有很多,这里我们使用mongoose 安装插件 npm install mongoose 新建一个config文件夹 ,然后建一个...keys.js文件 module.exports = { // 没有数据库和密码的本地服务 mine mongoURI : "mongodb://localhost/mine } //...server.js app.use(express.urlencoded({extended:false})) app.use(express.json()) 在 users.js 新建一个请求,我们测试一下...中查询一下 最后完整的代码 config/keys.js module.exports = { // 没有数据库和密码的本地服务 mongoURI : "mongodb://localhost
---- 更新记录:2018-4-9,md5加密 win10安装mongodb window下安装mongodb,需要参考的可以移步我的博客中:win10安装mongodb 项目初始化 本次项目使用的是...express4 + vue2+ + elementUI1+ + mongodb3.4+ 先看项目文件目录结构: 我页面用的vue所以server/views和server/public都没有用.../db'); 配置seesion 需要express-session 和 cookie-parser插件 // app.js // 加载解析session的中间件 // session 的 store...', { title: 'Express' }); }); module.exports = router; 我之前做的一个电子商城采用的这种方式:github地址 我的项目中: // app.js...数据库的相关操作 我这次用mongodb,主要是因为可以用js来操作,对我来说比较简单,mysql我不会用。
一、Node.js默认使用commonJs的模块化方案,TypeScript默认是ES6的模块化方案,两者有本质区别。...1.Node.js的去寻找引入的依赖时,如果是Node自带的模块,比如fs文件模块,只需要填写fs即可。如果是自己定义的模块,那么需要加入....使用ejs渲染的核心技巧是渲染数据的指定 2.尽量一个渲染数据对象包括所有的渲染内容 3.一个渲染对象可以有很多个属性,每次get请求时先发送一个空的对象到后端,再根据需求逻辑指定 对象属性和内容,最后还是传输那个对象回来...2.限制对象一旦生成那么无法改变,除非删除数据库 3.限制对象的增删改查都返回的是一个promise对象, 如果这时候去 if() 里判断,无论有什么样的结果,都是true, 而且这个 CRUD 操作都是异步...(Node.js的后端核心) const { Router } = require('express'); const express = require('express'); const model
这个小应用使用到了node.js bootstrap express 以及数据库的操作 :使用mongoose对象模型来操作 mongodb 如果没了解过的可以先去基本了解一下相关概念~ 首先注明一下版本...据我所知mongodb主要有两种使用方法,这里使用了其中的一种:使用 mongoose Mongoose是MongoDB的一个对象模型工具,是基于node-mongodb-native开发的MongoDB...—— 一种以文件形式存储的数据库模型骨架,无法直接通往数据库端,也就是说它不具备对数据库的操作能力,仅仅只是数据库模型在程序片段中的一种表现,可以说是数据属性模型(传统意义的表结构),又或着是“集合”...,类似于管理数据库属性、行为的类。.../routes')(app); 3.好了,一个简单的注册登录功能已经完成了,启动项目吧 (注意:因为要使用到mongodb数据库,所以要先开启数据库服务,不然无法访问,因为我们使用了nodedb 这个数据库
下载地址:http://v3.bootcss.com/getting-started/ 第二步 就是登陆和注册了 写在router文件中 index.js /*ucenter-登录*/router.post...('/ucenter/login', function (req, res) { user.findOne({name: req.body.name}, function (err, data)...,没有用Ajax,这里为了方便讲解,如果你写用Ajax请求的写法 请看:http://www.hubwiz.com/coursecenter 中的express课程 其中有详细的做法。...第三步 就是express的session问题了 在express 4.0之前的版本,像session之类的中间件是伴随express自动安装的, 网上有的教程使用的express版本正是4.0之前的版本...这是在实现mongodb回话组建connect-mongo时需要的。
阅读本文需要js基础 1.介绍 1.1.什么是 node 1.1.1.node 是一个开发平台, 就像 Java 开发平台、.Net 开发平台、一样有对应的编程语言、有语言运行时、有能实现特定功能的 API...1.1.2.使用的编程语言: javascript 语言 1.1.3.node.js 平台是基于 Chrom V8 javascript 引擎构建 (简称: V8 引擎) 1.1.4.可以开发控制台程序...使用 3.6.3.1.创建模版函数 var tplFn = _.template( str ); 3.6.3.2.填充数据: tplFn( { 数据对象} ); 模版内识别语法 可以使用对象的任何属性...那么返回的将是原生的二进制数据;如果指定了编码,那么会根据指定的编码返回对应的字符串数据 3.7.2.2.3.参数3:读取完毕后的回调函数 3.7.2.3.回调函数参数 3.7.2.3.1...()方法返回 5.mongodb 5.1.介绍 5.1.1.MongoDB是一个跨平台,面向文档的数据库,高性能,高可用性和易于扩展 5.1.2.mongo中的数据库:是一个集合的物理容器,一个单一的MongoDB
我不知道其它网上的那些人,他们哪来那么多时间,成天东跑西颠的。我这一天时间真的不太够用。 白天的时候要讲web前端零基础课,到下午3点半的时候要去接孩子下幼儿园,送到她妈那边去学英语。...然后9点半她们娘俩上床去睡了,这才开始我自己的时间。 就这个用vueJs写在线编辑简历的东西,进度就比较慢。为啥慢?我总不能说是怪老婆孩子呀,如果这么说了,那迎接我的就是老婆的怒火。 <!...给大家汇报一下进度,上一次是到这里, 【图片简历】Vue.js在线简历编辑...(三) 看看下面的视频, 这些东西都是给先行者课程准备的内容,在每周二、五的晚上十点,咱们来讲一讲。...在视频中可以看到,UI还是比较简陋的,日历插件什么的都没有。先就最简单的来,把业务逻辑先跑通再说。 其实现在UI并不是特别重要的东西,等做的差不多了,抽时间我找个UI库,一个就能漂亮啦。...其实套路很简单, 1、搞一个dom容器; 2、使用v-model得到每个input的值; 3、把这些值拼成一个对象; 4、用axios用get方式发到nodejs里; 5、在nodejs的express
写在前面 最近读《node.js学习指南》,对于mongodb没有介绍太多的工作原理,但是对于一个前端开发者,即使你还没有用过这种数据库也可以让你很好的理解和使用 一本非常好的介绍node.js的书,我一直把他放在触手可及的地方...--Mike Amundsen MongoDB Native Node.js Driver模块是mongodb自带的node的驱动,这个驱动发出的mongodb指令和mongodb客户端发出的指令基本一致...实现查询数据 对于MongoDB Native Node.js Driver来说有四种查询数据的方法:find()、findOne()、findAndRemove()、findAndModify() ...使用$set修改符代替field,$set修改符使只会修改作为属性传递给修改器的field 1 var mongodb = require('mongodb'); 2 3 var server...下一次我会总结一下使用express + mongoose建立数据库的连接
最近在学些NodeJs和Express框架开发后台接口,Express 是一个保持最小规模的灵活的 Node.js Web 应用程序开发框架,为 Web 和移动应用程序提供一组强大的功能。...看到B站上全栈之巅-Node.js+Vue.js全栈开发深度爱好者和实践者,感觉Johnny博主的系列视频讲解得不错,其中看到一个视频是1小时搞定NodeJs(Express)的用户注册、登录和授权,介绍了在...Express中怎么做用户登录和注册,以及jsonwebtoken的验证,需要在系统中安装MongoDB数据库;于是在自己的Windows10系统下使用VSCode跟着做,前提是要安装好NodeJs和Express...、server.js、model.js,分别表示发起http请求的文件,服务接口文件、MongoDB Model接口文件 server.js /* jshint esversion: 8 */ //...参考资料 1小时搞定NodeJs(Express)的用户注册、登录和授权 全栈之巅-Node.js+Vue.js全栈开发深度爱好者和实践者 Express 4.x API Express中文官网 NodeJs
app.use(cookie('express_cookie')); //cookie app.post('/login', function (req, res) { User.findOne...这里我们可以设置cookie的httpOnly属性,最大生命周期,等等,然后我们先在db内查询当前登录user,如果已经注册过,我们获取user信息并存入cookie中。...app.use(cookie('express_cookie')); app.use(session({ secret: 'express_cookie', resave: false,...session的可持续化 session的可持续化方式简单的理解就是让session可以在生命周期内一直存在,可以把session存入db中,可以是MongoDB,可以是redis,上代码,我们这里用MongoDB...app.use(cookie('express_cookie')); app.use(session({ secret: 'express_cookie', resave: false,
示例名称:天狗书店 功能:完成前后端分离的图书管理功能,总结前端学习过的内容。 技术:NodeJS、Express、Monk、MongoDB、AngularJS、BootStrap、跨域 效果: ?...二、使用MongoDB创建数据库 2.1、启动MongoDB数据库 数据库的具体安装、配置在前面的章节中已经讲解过,可以参考。...四、Monk访问MongoDB数据库 monk是NodeJS平台下访问MongoDB数据库的一个模块。monk访问MongoDB更加方便比NodeJS直接访问。...books.findOne({}, {sort: {id: -1}}).then((obj)=>{ //从客户端发送到服务器的图书对象 var book=req.body...六、使用AngularJS调用后台服务 这里的UI使用BootStrap完成,前端使用AngularJS调用NodeJS发布的服务,将数据存放在MongoDB中。 index.js页面如下: <!
/data:/data/db networks: - server_web-network mongo-express: image: mongo-express...该库提供了与其他 MongoDB 语言驱动程序一致的高级 API。 extension # Dockerfile ......("Upserted %d document(s)\n", $updateResult->getUpsertedCount()); $upsertedDocument = $collection->findOne...id' => $updateResult->getUpsertedId(), ]); var_dump($upsertedDocument); //$document = $collection->findOne...自带的工具,如果本地没有安装mongodb,可以单独下载 https://www.mongodb.com/try/download/database-tools 备份 docker exec -it {
二、使用MongoDB创建数据库 2.1、启动MongoDB数据库 数据库的具体安装、配置在前面的章节中已经讲解过,可以参考。...四、Monk访问MongoDB数据库 monk是NodeJS平台下访问MongoDB数据库的一个模块。monk访问MongoDB更加方便比NodeJS直接访问。...books.findOne({}, {sort: {id: -1}}).then((obj)=>{ //从客户端发送到服务器的图书对象 var book=req.body...,修改http头部信息及路径映射,app.js文件如下: var express = require('express'), routes = require('....六、使用AngularJS调用后台服务 这里的UI使用BootStrap完成,前端使用AngularJS调用NodeJS发布的服务,将数据存放在MongoDB中。 index.js页面如下: <!
基础使用 基础使用 需要安装node原生依赖:https://github.com/mongodb/node-mongodb-native npm i mongodb -S 新建一个 hello.js...目标是是开发一个列表和查询的页面 model层 配置 新建models文件夹,抽取配置: // config.js module.exports = { url: "mongodb://localhost...Keystone是以Express和MongoDB和mongoose为基础搭建的开源的Node.js CMS和web应用程序平台。...Keystone在官网上声称:在Node.js中,用Keystone搭建数据驱动的网站、应用程序和API是最容易的。...之所以出此狂言,背后还是有料的,Keystone自带以下功能: 内置Express.js和MongoDB 动态路由 实用的数据库域类型 自动生成管理员界面 基于数据模型的表单处理 会话管理和认证功能 keystone
js 1const mongoose = require("mongoose"); 2mongoose.connect("mongodb://127.0.0.1:27017/moogose-model-demo...js 1;(async function() { 2 const cate1 = await Category.findOne({ 3 name: "vuejs" 4 }); 5 const...cate2 = await Category.findOne({ 6 name: "nodejs" 7 }); 8 const post1 = await Post.findOne({ 9...js 1CategorySchema.virtual("posts", { 2 // 定义一个虚拟字段 3 ref: "Post", // 关联的模型 4 localField: "_id", /...JSON.stringify(cates)) 7 // console.log(cates) 8})(); COPY https://github.com/Innei/Back-End-Study/blob/master/express-demo
领取专属 10元无门槛券
手把手带您无忧上云