javascript

java

python

c#

android

c++

node.js

php

html

jquery

ios

reactjs

css

.net

git

ruby-on-rails

sql

c

ruby

string

node.js-在nodejs中序列化findAll排序顺序

我正在尝试使用sequelize从数据库中输出所有对象列表,如下所示,并希望在我在where子句中添加id时对数据进行整理。

exports.getStaticCompanies = function () {
    return Company.findAll({
        where: {
            id: [46128, 2865, 49569,  1488,   45600,   61991,  1418,  61919,   53326,   61680]
        },
        attributes: ['id', 'logo_version', 'logo_content_type', 'name', 'updated_at']
    });
};

但是问题是渲染后,所有数据按如下进行整理。

46128, 53326, 2865, 1488, 45600, 61680, 49569, 1418, ....

正如我发现的那样,它既没有按ID也没有按名称排序。 请帮我解决。

trans by 2020-08-07T05:38:29Z

node.js-Sequelize:如何从现有数据库中导入定义

即使我正在使用现有数据库,也需要手写Sequelize的模型定义吗?

如果不需要,那么如何将Sequelize与现有数据库一起使用?

我已经在Doctrine中定义了数据库的架构,因此我宁愿不必再次编写另一组模型定义。

trans by 2020-07-27T18:12:02Z

node.js-Node Sequelize中预先加载模型的排序结果

我有一组复杂的关联模型。 这些模型使用联接表进行关联,每个联接表都具有一个称为“ order”的属性。 我需要能够查询父模型“页面”并包括关联的模型,并按“订单”字段对这些关联进行排序。

以下内容对结果的排序顺序没有影响:

db.Page.findAll({
  include: [{
    model: db.Gallery,
    order: ['order', 'DESC'],
    include: [{
      model: db.Artwork,
      order: ['order', 'DESC']
    }]
  }],
})
trans by 2020-07-10T11:49:08Z

javascript-排序没有列'id'的表

我有一个表的以下顺序定义:

AcademyModule = sequelize.define('academy_module', {
        academy_id: DataTypes.INTEGER,
        module_id: DataTypes.INTEGER,
        module_module_type_id: DataTypes.INTEGER,
        sort_number: DataTypes.INTEGER,
        requirements_id: DataTypes.INTEGER
    }, {
        freezeTableName: true});

如您所见,此表中没有id列。 但是,当我尝试插入时,仍尝试以下sql:

 INSERT INTO `academy_module` (`id`,`academy_id`,`module_id`,`sort_number`) VALUES (DEFAULT,'3',5,1);

我该如何禁用明显具有的id功能?

trans by 2020-06-25T20:11:03Z

node.js-如何在带有sequelize的属性中使用包含?

知道如何将sequelize与include属性一起使用(当您只需要包含include表的特定字段时)?

目前,我有这个(但无法按预期工作):

var attributes = ['id', 'name', 'bar.version', ['bar.last_modified', 'changed']];
foo.findAll({
    where      : where,
    attributes : attributes,
    include    : [bar]
}).success(function (result) { ...
trans by 2020-02-14T19:47:29Z

sequelize.js-Node.js 7如何在异步/等待中使用sequelize事务?

Node.js 7及更高版本已经支持异步/等待语法。 如何在异步事务中使用异步/等待?

trans by 2020-02-13T01:09:29Z

mysql-如何使用Sequelize CLI从Sequelize模型自动生成迁移?

我有一组Sequelize模型。 我要使用迁移,而不是数据库同步。

根据这篇文章,Sequelize CLI似乎可以做到这一点:“使用CLI进行模型生成时,您还将免费获得迁移脚本。”

如何使用Sequelize CLI从现有Sequelize模型自动生成迁移?

trans by 2020-01-18T00:31:23Z

sql-Sequelize.js中的“ belongsTo”与“ hasMany”

AlbumA.hasMany(B)和有什么不一样

Artist = sequelize.define('Artist', {});
Album = sequelize.define('Albums', {});

Album.belongsTo(Artist, foreignKey: 'album_belongsl_artist');
Artist.hasMany(Album, foreignKey: 'artist_hasmany_albums');

是否在两种情况下都在Album中创建从属表?

trans by 2020-01-14T02:27:12Z

node.js-序列化OR条件obj

通过创建这样的对象

var condition=
{
  where:
  {
     LastName:"Doe",
     FirstName:["John","Jane"],
     Age:{
       gt:18
     }
  }    
}

并传递给

Student.findAll(condition)
.success(function(students){

})

它可以像这样漂亮地生成SQL

"SELECT * FROM Student WHERE LastName='Doe' AND FirstName in ("John","Jane") AND Age>18"

但是,这都是“ AND”条件,如何通过创建条件对象来生成“ OR”条件?

trans by 2020-01-13T07:20:58Z

sequelize.js-sequelize.sync()如何工作,特别是force选项?

sequelize.sync()上的force选项有什么作用?

sequelize.sync({
    force: true
});

具体来说,我有兴趣了解什么力量:错误呢? 它不会将模式与数据库同步吗?

是否有任何关于续集的正式文档? 我只能在文档中找到示例。

trans by 2020-01-11T17:30:55Z

mysql-如何在Node.js上使用Sequelize进行联接查询

我正在使用sequelize ORM; 一切都很好而且很干净,但是当我将其与join查询一起使用时遇到了问题。我有两种模式:用户和帖子。

var User = db.seq.define('User',{
    username: { type: db.Sequelize.STRING},
    email: { type: db.Sequelize.STRING},
    password: { type: db.Sequelize.STRING},
    sex : { type: db.Sequelize.INTEGER},
    day_birth: { type: db.Sequelize.INTEGER},
    month_birth: { type: db.Sequelize.INTEGER},
    year_birth: { type: db.Sequelize.INTEGER}

});

User.sync().success(function(){
    console.log("table created")
}).error(function(error){
    console.log(err);
})


var Post = db.seq.define("Post",{
    body: { type: db.Sequelize.TEXT },
    user_id: { type: db.Sequelize.INTEGER},
    likes: { type: db.Sequelize.INTEGER, defaultValue: 0 },

});

Post.sync().success(function(){
    console.log("table created")
}).error(function(error){
    console.log(err);
})

我想要一个查询,该查询以发布该信息的用户作为响应。 在原始查询中,我得到以下信息:

db.seq.query('SELECT * FROM posts, users WHERE posts.user_id = users.id ').success(function(rows){
            res.json(rows);
        });

我的问题是如何更改代码以使用ORM样式而不是SQL查询?

trans by 2019-09-30T16:36:03Z

node.js-在“字段列表”中对未知列“ * .createdAt”进行序列化

我在“字段列表”中收到一个未知列“ userDetails.createdAt”尝试通过关联获取时。

在没有关联的情况下使用findAll可以正常工作。

我的代码如下:

var userDetails = sequelize.define('userDetails', {
    userId :Sequelize.INTEGER,
    firstName : Sequelize.STRING,
    lastName : Sequelize.STRING,
    birthday : Sequelize.DATE
});

var user = sequelize.define('user', {
    email: Sequelize.STRING,
    password: Sequelize.STRING
});

user.hasOne(userDetails, {foreignKey: 'userId'});

user.findAll({include: [userDetails] }).success(function(user) {
    console.log(user)
});
trans by 2019-09-23T08:44:50Z

mysql - 如何使Sequelize使用奇异的表名

我有一个名为User的模型,但每当我尝试保存在DB中时,Sequelize会查找表USERS。 有谁知道如何设置Sequelize使用奇异的表名? 谢谢。

trans by 2019-09-12T11:53:55Z

node.js - 如何组织使用sequelize的节点应用程序?

我正在寻找一个使用sequelize ORM的示例nodejs应用程序。

我主要担心的是,如果这些模型由于require()依赖循环而彼此之间具有复杂的关系,那么几乎不可能在单独的js文件中定义模型。 也许人们将所有模型定义在一个非常长的文件中?

我主要感兴趣的是如何定义模型并在整个应用程序中使用。 我想要一些验证,我自己做的是"好" 做事的方式。

trans by 2019-07-07T02:31:22Z

node.js - “字段列表”中的Sequelize Unknown列'* .createdAt'

我在'字段列表'中收到一个未知列'userDetails.createdAt'尝试获取关联时。

没有关联使用findAll工作正常。

我的代码如下:

var userDetails = sequelize.define('userDetails', {
    userId :Sequelize.INTEGER,
    firstName : Sequelize.STRING,
    lastName : Sequelize.STRING,
    birthday : Sequelize.DATE
});

var user = sequelize.define('user', {
    email: Sequelize.STRING,
    password: Sequelize.STRING
});

user.hasOne(userDetails, {foreignKey: 'userId'});

user.findAll({include: [userDetails] }).success(function(user) {
    console.log(user)
});
trans by 2019-06-24T16:23:12Z

mysql - 如何使Sequelize使用奇异的表名

我有一个名为User的模型,但每当我尝试保存在DB中时,Sequelize会查找表USERS。 有谁知道如何设置Sequelize使用奇异的表名? 谢谢。

trans by 2019-05-18T15:55:47Z

mysql - 如何使用节点的sequelize更新记录?

我正在使用NodeJS,express,express-resource和Sequelize创建一个RESTful API,用于管理存储在MySQL数据库中的数据集。

我正在试图找出如何使用Sequelize正确更新记录。

我创建了一个模型:

module.exports = function (sequelize, DataTypes) {
  return sequelize.define('Locale', {
    id: {
      type: DataTypes.INTEGER,
      autoIncrement: true,
      primaryKey: true
    },
    locale: {
      type: DataTypes.STRING,
      allowNull: false,
      unique: true,
      validate: {
        len: 2
      }
    },
    visible: {
      type: DataTypes.BOOLEAN,
      defaultValue: 1
    }
  })
}

然后,在我的资源控制器中,我定义了一个更新操作。

在这里,我希望能够更新id与updateAttributes变量匹配的记录。

首先,我构建一个模型,然后使用updateAttributes方法更新记录。

const Sequelize = require('sequelize')
const { dbconfig } = require('../config.js')

// Initialize database connection
const sequelize = new Sequelize(dbconfig.database, dbconfig.username, dbconfig.password)

// Locale model
const Locales = sequelize.import(__dirname + './models/Locale')

// Create schema if necessary
Locales.sync()


/**
 * PUT /locale/:id
 */

exports.update = function (req, res) {
  if (req.body.name) {
    const loc = Locales.build()

    loc.updateAttributes({
      locale: req.body.name
    })
      .on('success', id => {
        res.json({
          success: true
        }, 200)
      })
      .on('failure', error => {
        throw new Error(error)
      })
  }
  else
    throw new Error('Data not provided')
}

现在,这实际上并没有像我期望的那样产生更新查询。

而是执行插入查询:

INSERT INTO `Locales`(`id`, `locale`, `createdAt`, `updatedAt`, `visible`)
VALUES ('1', 'us', '2011-11-16 05:26:09', '2011-11-16 05:26:15', 1)

所以我的问题是:使用Sequelize ORM更新记录的正确方法是什么?

trans by 2019-05-16T12:20:06Z

1 共1页