Articles of sequelize.js

在sequelize.js中禁用updatedAt(更新date)字段

我用sequelize-auto生成架构,我尝试使用findOne() ,我得到这个错误: Unhandled rejection SequelizeDatabaseError: Invalid column name 'updatedAt'. 在我的数据库表中没有字段updatedAt 例如我的表名是Users我的代码是Users.findOne() ,并且在users表中没有updatedAt字段。 db.users= sequelize.import(__dirname + "/models/users"); app.get('/users', function (req, res) { db.user.findOne().then(function (project) { res.json(project); }) }); 如何解决?

按顺序在嵌套的加载中继续不工作

我有四个型号的Tehsil,Ilr,Patwar和Villages。 和他们的联系是 Tehsil – > 1:m – > Ilr – > 1:m – > Patwar – > 1:m – >村庄 我想要在我所有的四个模型上应用顺序。 查询: var tehsilQuery = { include: [{ model: Ilr, as: 'GirdawariKanoongo', include: [{ model: Patwar, as: 'GirdawariPatwar', include: [{ model: Villages, as: 'GirdawariVillages', }] }] }], order: [ ['tehsil_name', 'ASC'], [ {model: Ilr, as: […]

只更新sequelize中的一行

我使用Sequelize作为ORM与express.js以下是我的简约表结构。 Id status phone 1 0 09620701828 2 0 09620701828 现在,当一个API请求是在一个端点上,那么我必须更新属于我从请求中获得的特定电话的最后一个ID的状态。 原始的MySql查询将为UPDATE table SET status=1 where phone='09620701828' ORDER BY id DESC LIMIT 1; 我如何使用Sequelize更新方法来实现相同的function。 以下是我所尝试过的 models.customerLeadFeedback.update( {status: 1}, { where: {phone : '09620701828'}, order: [['id', 'DESC']], limit : 1 }).then(function () { res.sendStatus(200); })` 但子句顺序不工作以上和更新状态为ID 1.任何人都可以帮助我,而不使用原始查询sequelize 。

Sequelize – 不区分大小写

我怎么能在Sequelize中实现这个? SELECT * FROM table where lower(column) LIKE ('abcd%'); 我找不到一个方法来混合更低的function与$像

使用与bcryptasynchronous的Sequelize

这可能是基于意见的。 但我想得到一些build议。 所以,我想要做的事情可以用这个线程中提到的方式来完成。 但是这个线程为我想要使用asynchronous做了一个好点。 这是我到目前为止,它的工作原理。 User.create({email: req.body.email, password: req.body.password}).catch(function(err){ console.log(err); }); User.beforeCreate(function(user) { const password = user.password; user.password = ''; bcrypt.genSalt(SALT_WORK_FACTOR, function(err, salt) { if(err) console.error(err); bcrypt.hash(user.password, salt, null, function(err, hash) { if(err) console.error(err); user.password = hash; user.save(); }); }); }); 由于我使用bcryptasynchronous,我将不得不坚持encryption的密码在另一个查询。 我的直觉告诉我可能有一个更好的方式使用bcryptasynchronous与sequ​​elize。 我的问题是,首选/更好的方法是什么? 或者我应该只是同步使用bcrypt?

如何使sequelize.sync()省略一些模型?

我在我的DB(mysql)中使用表和视图,所以对于开发/testing环境,我想使用sync(),但它在视图上崩溃。 我可以以某种方式忽略这些模型?

续集如何保存而不更改updatedAt?

是否可以不更新sequelize model.save()?updatedAt值? 我正在递增一个对象的计数器,不要更新模型的根,因此我想要updatedAt值保持原样。 这无论如何可能与续集?

PostgreSQL的Sequelize模式:如何在模型中准确定义模式?

我search了整个networking,并没有能够确定如何添加一个模式到这个下面的续集模型。 下面的代码不会反弹错误,但是当我检查postgres数据库时,唯一的模式是公共的默认模式。 // The model definition is done in /path/to/models/project.js module.exports = function(sequelize, DataTypes) { return sequelize.define("project", { name: DataTypes.STRING, description: DataTypes.TEXT, }, define: { schema: "prefix" }, classMethods: { method1: function() {}, method2: function() {} }, instanceMethods: { method3: function() {} }) 应如何修改脚本以准确定义模式? 编辑 就我而言,最终的答案是 database_name.sequelize.createSchema('prefix').then(() => {…}); 在我的./models/index.js文件中,数据库对象如下所示: database_name = { Sequelize: Sequelize, […]

使用seqelize与hasMany关系postgresql来创build一个API

我在node.js之上使用了sequilize,并且为了创build一个可以使用本教程http://mherman.org/blog/2015/10/22/node-postgres-sequelize/#来访问的API 。 WSJ77BMrLBL 。 我不能让数据库填充一个名为商店与产品的对象。 我现在所拥有的是: 路线: // get all stores router.get('/stores', function(req, res) { models.Store.findAll({}).then(function(stores) { res.json(stores); }); }); // get single store router.get('/stores/:id', function(req, res) { models.Store.find({ where: { id: req.params.id } }).then(function(store) { res.json(store.productId); }); }); // add new store router.post('/stores', function(req, res) { models.Store.create({ name: req.body.name, productId: req.body.product_id }).then(function(store) { res.json(store); […]

如何添加,删除Sequelize CLI中的新列

我刚开始使用Sequelize和Sequelize CLI 由于这是一个开发时间,因此频繁地添加和删除列。 什么是最好的方法添加一个新的列到现有的模型? 例如,我想要一个新的专栏“ 完成 ”到Todo模型。 我将这个列添加到models / todo.js。 下一步是什么? 我试过sequelize db:migrate 不工作: “没有执行迁移,数据库模式已经是最新的。”