Tag: knex.js

Bad handshake或ECONNRESET Azure Mysql Nodejs

已经有类似的报道,但是我不能解决这个问题。 我有一个express.js应用程序使用KNEX连接到Azure托pipe的MySQL数据库。 我可以完全从控制台命令或MySQL工作台连接到数据库。 但是,没有办法从我的节点应用程序实现相同。 我的连接对象是相同的: config.knex = require('knex')({ client: 'mysql', connection: { host: 'wineserver.mysql.database.azure.com', user: 'BurgerAndGreenBeans@wineserver', password: 'FromageDeChevre', database: 'gdpr', insecureAuth: true }, pool: { min: 0 }, debug: ['ComQueryPacket'] }); 每次我启动应用程序,我得到一个错误或另一个: #1 Unhandled rejection Error: read ECONNRESET at exports._errnoException (util.js:1050:11) at TCP.onread (net.js:582:26) ——————– at Protocol._enqueue (C:\Projects\gdpr\node_modules\mysql\lib\protocol\Protocol.js:141:48) at Protocol.handshake (C:\Projects\gdpr\node_modules\mysql\lib\protocol\Protocol.js:52:41) at Connection.connect (C:\Projects\gdpr\node_modules\mysql\lib\Connection.js:130:18) at […]

在knex中迁移表:存储媒体,图像或blob

我正在尝试将关系迁移到我的postgres数据库。 问题是我不知道图像使用什么值types。 exports.up = function (knex, Promise) => { return knex.schema.createTable('observations', (table) => { table.increments(); table.integer('user_id').notNullable(); table.blob('image').notNullable(); //??? table.string('category').notNullable(); table.string('description').notNullable(); table.boolean('approved').notNullable().defaultTo(false); table.float('latitude').notNullable(); table.float('longitude').notNullable(); table.timestamp('created_at').defaultTo(knex.fn.now()); }); }; 我以为会有一个“blob”文件types,但在文档中似乎没有迁移任何媒体的迹象。 请帮帮我。

如何使用Knex查找或创build?

就简单的用户注册而言,我怎样才能在用户名中查找或创build最佳性能? 猜测我需要使用原始查询,但我还没有如此精明的SQL。 或者,如果用户名已经存在,至less应该拒绝。

如何使用knex.js链接查询?

我在理解Knex.js中承诺的工作方面遇到了一些麻烦(使用Bluebird.js作为承诺)。 我试图做一些非常简单的事情,依次执行不同的插入语句,但是我一直无法使它工作。 这里是我到目前为止的代码,这是为了在authentication_type表上执行一个insert,然后在user_table上插入一个insert,然后在category表上插入一个insert。 // Import database connection var knex = require('./db-connection.js'); // Add a row to authentication_type table so that user's can be created function add_authentication_type() { return knex('authentication_type') .insert({id: 1, name: 'Internal'}) } // Add a 'default' user with nil uuid // Anything added without a user must link back to this user function […]

我怎样才能批量删除使用knexjs(MySQL)。 我有一个匹配单个字段的数组中的条目

让我有这样的数据库结构。 sr no. name age 1. hemant 25 2. amit 23 3. vikash 24 我有如下的数组: arr=['hemant','amit'];

我如何防止Knex在PostgreSQL上插入尾随空格?

我使用Node和包pg和Knex在PostgreSQL上插入数据。 这是我的源代码: var knex = require('knex')({ client: 'pg', connection: 'postgres://postgres:52Ag98d5@localhost:5433/CRM' }); var rows = []; for(var i = 0; i < 20000; i++) { rows.push({ name: faker.Name.findName(), email: faker.Internet.email() }); } knex.batchInsert('contact', rows) .then(() => { knex.destroy(); }); 它工作的很好,除了string字段被填充尾部空格。 我的意思是…如果一个字段是character(50) ,我用10个字符填充它,它将在最后插入40个空格。 请参阅pgAdmin上的亮点: 我不知道这是谁的错。 我不知道这是因为Knex还是因为Node pg驱动程序。 任何意识如何防止这种行为?

Knex.js&MySQL:将整型转换为布尔值以进行批量select

我使用Knex作为与MySQL数据库通信的服务器。 我有select语句,可能会从数据库中返回大量的logging。 这些logging中的一些单元是布尔型的,这实际上意味着它们只是整数(0或1)。 在JavaScript中,我需要它们作为布尔值,所以我可以把它们作为实际的“真”或“假”值,而不是“0”和“1”。 到目前为止,我发现的唯一解决scheme是通过循环将每个tinyintlogging更改为布尔值来运行查询的结果。 但是,我想知道,有没有办法将查询生成器configuration为自动返回某些单元格的布尔值?

有条件的filter使用Knex.js和SQL以及多个search条件

我有我的用户需要能够search的项目数据库。 他们可以应用不同的filter,如category , searchTerm , itemType 。 我知道如何在knex查询中应用这些filter,但不知道如何有条件地合并它们。 例如,在一种情况下,用户只inputsearchTerm。 所以我不想按类别或项目types进行筛选,而只需要searchTerm。 但是,我想只有一个knex函数有条件地为查询添加额外的子句。 就像是: const getFilteredItems = (searchCriteria) => knex('items') // IF (searchCriteria.searchTerm) .where('items.itemName', 'like', `%${searchCriteria.searchTerm}%`) // IF (searchCriteria.itemType) .where('items.itemType', '=', searchCriteria.itemType) // IF (searchCriteria.category) .where('items.category', '=', searchCriteria.category) 但我不知道如何有条件地将附加的where子句追加到knex查询中。 有没有一个优雅的方式来做到这一点,而不写入原始的SQL?

如何获得knex / mysql中所有更新logging的列表

这是我正在处理的查询: return knex('table') .returning('id') .where('boolean', false) .andWhere('fooID', foo.id) .update({ boolean : true }) .limit(num) .then(function(ids) { console.log('\nids'); console.log(ids); //outputs num ids现在包含3,这是受影响的行数。 有没有办法获得这3行的ID? 我是在印象.returning()做到了,但似乎没有。

Postgresql中的Decimal值在Node.js中以Stringforms返回

当我在node.js服务器上对postgresql数据库运行查询时,我得到的值是variablestypesstring ,实际上它是postgresql数据库中的一个十进制数 。 我不知道为什么我的小数或甚至bigInts返回typesstring。 我使用knex作为我的ORM,如果这有所作为。 到目前为止,我在网上阅读的是不是很清楚该怎么做,似乎这自动发生,以保持精度? 什么是最好的解决这个? 是最好把我的查询返回的stringvariables转换为十进制使用parseFloat?