- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在关注 sequelize 文档以获得一个简单的 sqlite3 db,在文档中,每件事似乎都在一个文件中,但是对于路由,我需要在不同地方使用这些类。
我的 index.js
const express = require("express");
const applyApi = require("./src/routes").applyApi;
const { Sequelize, DataTypes, Model } = require("sequelize");
const sequelize = new Sequelize({
dialect: "sqlite",
storage: "./database.sqlite",
});
class User extends Model {}
class UserFavourite extends Model {}
User.init(
{
// Model attributes are defined here
firstName: {
type: DataTypes.STRING,
allowNull: false,
},
lastName: {
type: DataTypes.STRING,
// allowNull defaults to true
},
email: {
type: DataTypes.STRING,
allowNull: false,
unique: true,
},
passwordDigest: {
type: DataTypes.STRING,
allowNull: false,
},
},
{
// Other model options go here
sequelize, // We need to pass the connection instance
modelName: "User", // We need to choose the model name
}
);
UserFavourite.init(
{
movieRefId: {
type: DataTypes.INTEGER,
allowNull: false,
},
movieTitle: {
type: DataTypes.STRING,
allowNull: false,
},
moviePosterPath: {
type: DataTypes.STRING,
allowNull: false,
},
seen: {
type: DataTypes.BOOLEAN,
defaultValue: false,
},
description: {
type: DataTypes.TEXT,
},
},
{
// Other model options go here
sequelize, // We need to pass the connection instance
modelName: "UserFavourite", // We need to choose the model name
}
);
User.hasMany(UserFavourite);
const app = express();
applyApi(app);
app.get("/", (req, resp) => {
resp.send("test");
});
(async () => {
try {
await sequelize.authenticate();
console.log("Connection has been established successfully.");
} catch (error) {
console.error("Unable to connect to the database:", error);
}
await sequelize.sync({ force: true });
app.listen(3001, () => {
console.log("Server started on port 3001");
});
})();
exports.models = {User, UserFavourite};
然后我导入类,让我们在用户路由器中说,现在它只是一个硬编码用户创建的测试:
const userRouter = require("express").Router();
const models = require("../../../index");
userRouter.get("/", async (req, res) => {
console.log(typeof models)
console.log(models)
try{
const user = await models.models.User.create({
firstName: 'Bla',
lastName: 'BLABLA',
email: 'a@a.a',
passwordDigest: 'lklkl'
})
console.log(user)
res.send("OK")
} catch (e) {
console.log(e)
res.status(404).send("Error")
}
});
exports.userRouter = userRouter;
正如你所看到的,我必须做 models.models.User 等。如果尝试
const { models } =require("../../../index");
或者
const models = require("../../../index").models;
模型在控制台日志中未定义,此时我不知道为什么,console.log 上方文件中的代码片段为 { models: { User: User etc... } } 并且工作正常:models.model .User.create({用户数据})
最佳答案
一个好的文件夹结构应该是这样的。
├── models
│ ├── user.js
│ ├── userfavourites.js
│ ├── index.js
//example model
'use strict';
module.exports = (sequelize, DataTypes) => {
const user = sequelize.define('user', {
movieRefId: {
type: DataTypes.INTEGER,
allowNull: false,
},
movieTitle: {
type: DataTypes.STRING,
allowNull: false,
},
moviePosterPath: {
type: DataTypes.STRING,
allowNull: false,
},
seen: {
type: DataTypes.BOOLEAN,
defaultValue: false,
},
description: {
type: DataTypes.TEXT
},
});
user.associate = function(models) {
// associations can be defined here
};
return user;
};
现在无论你想在哪里使用你的模型。
const models = require('<path>/models');
const UserModel = models.user;
关于javascript - 需要 Sequelize 模型类时,module.exports undefined,什么是正确的结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62627442/
我只是有一个更琐碎的问题。 为什么undefined == undefined 返回true,而undefined >= undefined 为false? undefined 等于 undefine
用PHP 7.2编写套接字服务器。根据Firefox 60中的“网络”选项卡,服务器的一些HTTP响应的第一行随机变为undefined undefined undefined。因此,我尝试记录套接字
在 JavaScript 中这是真的: undefined == undefined 但这是错误的: undefined <= undefined 起初我以为<=运算符包含第一个,但我猜它试图将其转换
在回答这个问题 (Difference between [Object, Object] and Array(2)) 时,我在 JavaScript 数组中遇到了一些我以前不知道的东西(具有讽刺意味的
来自https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/of , Note: thi
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
当我添加 到我的 PrimeFaces Mobile 页面,然后我在服务器日志中收到以下警告 WARNING: JSF1064: Unable to find or serve resource, u
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我是一名优秀的程序员,十分优秀!