node js orm 框架 sequelize 的findOne 与findAll 一点使用心得

最近用nodejs 想搭建一个后台,orm框架选择了sequelize,别的我也不知道,有知道的可以给我推荐下谢谢。
    进入正题,看文档新建model

    User.js

    var Sequelize = require('sequelize');

var sequelize = require('./../dataconfig');

// // 创建 model
var User = sequelize.define('user', {
id: { type: Sequelize.INTEGER, 'primaryKey': 'true' },
userName: {
type: Sequelize.STRING, // 指定值的类型
field: 'user_name' // 指定存储在表中的键名称
},
// 没有指定 field,表中键名称则与对象键名相同,为 email
email: {
type: Sequelize.STRING
}
}, {
// 如果为 true 则表的名称和 model 相同,即 user
// 为 false MySQL创建的表名称会是复数 users
// 如果指定的表名称本就是复数形式则不变
freezeTableName: true
});

exports.findAllUser = function () {
return User.findAll();
}

//test.js 调用

v

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以通过以下步骤实现使用 Express 和 MongoDB 实现登录功能: 1. 安装 MongoDB 和 mongoose ```bash npm install mongodb mongoose ``` 2. 创建 MongoDB 数据库 在 MongoDB 中创建一个名为 `users` 的数据库,并在其中创建一个名为 `users` 的集合。 3. 创建用户模型 使用 mongoose 创建一个用户模型,并导出它。 ```javascript const mongoose = require('mongoose'); const UserSchema = new mongoose.Schema({ email: { type: String, required: true, unique: true, }, password: { type: String, required: true, }, }); const User = mongoose.model('User', UserSchema); module.exports = User; ``` 4. 创建登录路由 在 Express 中创建一个登录路由,并在其中验证用户输入的电子邮件地址和密码。 ```javascript const express = require('express'); const router = express.Router(); const bcrypt = require('bcryptjs'); const jwt = require('jsonwebtoken'); const User = require('../models/User'); router.post('/login', async (req, res) => { const { email, password } = req.body; try { // 查找用户 const user = await User.findOne({ email }); if (!user) { return res.status(400).json({ message: '无效的电子邮件地址或密码' }); } // 验证密码 const isMatch = await bcrypt.compare(password, user.password); if (!isMatch) { return res.status(400).json({ message: '无效的电子邮件地址或密码' }); } // 生成令牌 const token = jwt.sign({ userId: user._id }, process.env.JWT_SECRET); res.json({ token }); } catch (err) { console.error(err); res.status(500).json({ message: '服务器错误' }); } }); module.exports = router; ``` 在上面的代码中,我们首先从请求正文中提取电子邮件地址和密码。然后,我们使用 `findOne()` 方法查找具有提供的电子邮件地址的用户。如果用户不存在,则返回一个错误响应。如果用户存在,则使用 `compare()` 方法验证提供的密码是否与数据库中存储的密码匹配。如果密码不匹配,则返回错误响应。如果密码匹配,则使用 `sign()` 方法生成 JWT 令牌,并将其作为响应发送。 5. 将路由添加到应用程序 最后,将上面的路由添加到应用程序中。 ```javascript const express = require('express'); const mongoose = require('mongoose'); const loginRouter = require('./routes/login'); const app = express(); mongoose.connect(process.env.MONGO_URI, { useNewUrlParser: true, useUnifiedTopology: true, }); app.use(express.json()); app.use('/api', loginRouter); app.listen(3000, () => { console.log('服务器已启动'); }); ``` 在上面的代码中,我们首先连接到 MongoDB 数据库。然后,我们使用 `use()` 方法将 `loginRouter` 添加到应用程序中。最后,我们使用 `listen()` 方法启动服务器。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值