首页 > TAG信息列表 > knex-js

JavaScript-编译SELECT查询时检测到KNEX未定义绑定

var knex = require('knex')(config); var bookshelf = require('bookshelf')(knex); var SKU = bookshelf.Model.extend({ tableName: 'skus', }); SKU.where('id', undefined).fetch().then(function (skus) { if (skus)

mysql-Bookshelf.js使用rand()随机排序商品

我正在使用bookshelf.js使用mariaDB开发项目.我想随机订购我的帖子.我发现此解决方案适用于knex.js knex('posts').select('id', 'text') .orderByRaw('RAND()') .limit(100) 但是我想对书架做同样的事情.解决方法:根据bookshelf.js文档,model.query()返

javascript-从选择插入Knex.js

我正在尝试通过Knex.js生成如下查询: INSERT INTO table` ("column1", "column2") SELECT "someVal", 12345) WHERE NOT EXISTS ( SELECT 1 FROM table WHERE "column2" = 12345 ) 基本上,我只想在不存在特定值的情况下插入值.但是Knex.js似乎不知道该怎么做.如果我调

转义knex mysql查询语句

一般来说,我对knex和数据库还很陌生,所以这是一个初学者的问题. 我没有在knex docs中对此明确提及.非原始knex查询是否自动“安全”? 其次,对于原始查询,我有几个类似于以下内容的原始语句: var condition = _.map(ids, function(id) { return '`id`=' + id; }).join(' OR ');

javascript-如何在Bookshelf.js模型上添加计数方法?

我有以下表格: >书籍 > book_reviews>用户 以下是与上述表格对应的模型: const BookReview = require('./BookReview').model; const User = require('./User').model; module.exports.model = bookshelf.Model.extend({ tableName: 'books', user: f

javascript-在Objection.js中多对多插入额外字段

我有以下疑问,我在objection.js文档中找不到清楚的地方. 我有以下2种型号: export class Language extends BaseId { name: string; static tableName = 'Languages'; static jsonSchema = { type: 'object', required: ['name'],

javascript – 我可以有条件地将where()子句添加到我的knex查询中吗?

我想在我的查询中添加一个where()子句,但有条件.具体来说,我希望只有在URL中传递了一个特定的querystring参数时才添加它.这是可能的,如果可以的话,我该怎么做呢? router.get('/questions', function (req, res) { knex('questions') .select('question', 'correct', '

javascript – 我们总是可以使用knex和postgres将日期列提取为字符串(varchar)吗?

我在postgres数据库中有一个类型为date的列.这是一个像生日这样的列,它只是一个日期,不需要有时间部分. 使用knex获取此列时,结果是一个javascript Date对象.它可能是新的Date(row.birthday),这是发送给客户端的结果. 现在的问题是客户端接收的值是带有时间部分和Z的标准ISO 8601格

javascript – 获取Bookshelf.js模型时使用“new”的区别是什么?

Bookshelf.js文档的代码示例包含“new”且没有“new”: 这里http://bookshelfjs.org/#Model-instance-hasMany let Author = bookshelf.Model.extend({ tableName: 'authors', books: function() { return this.hasMany(Book); } }); // select * from `authors` where

javascript – Knex.js和MySQL:将整数转换为布尔值以进行批量选择

我使用Knex作为与MySQL数据库通信的服务器. 我有select语句可能会从数据库中返回大量记录.这些记录中的一些单元格是布尔值,这实际上意味着它们只是整数(0或1).在JavaScript中我需要它们作为布尔值,所以我可以将它们作为实际的’true’或’false’值而不是’0’和’1’以JSON格式发

mysql – Knex不返回插入ID

这是我的表(CELLID)结构. +---------+------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+------------+------+-----+---------+-------+ | CELL_ID | int(11) | NO | PRI | NULL | | | STATUS |

javascript – Knex迁移导致gulp进程挂起

在gulp任务中使用knex.js中的Migrations API会导致任务进程挂起而不会退出.是什么导致这种情况,我该如何解决? gulp.task('migrate:latest', function () { return knex.migrate.latest({ migrations: { tableName: 'migrations' } })

javascript – 如何在Knex JS中使用IS NOT NULL

我正在尝试使用knex创建以下查询: 具有users.photo的users.location的SELECT * FROM users group不为null 如下: knex(“users”).groupBy(“users.location”).having(“users.photo”,“IS NOT”,“Null”) 我收到以下错误: 不允许操作符IS NOT 我已经阅读了他们的文档,找不到任何有

mysql – Knex.js – 如何使用表达式更新字段

我们如何让Knex创建以下SQL语句: UPDATE item SET qtyonhand = qtyonhand + 1 WHERE rowid = 8 我们目前正在使用以下代码: knex('item') .transacting(trx) .update({qtyonhand: 10}) .where('rowid', 8) 但是,为了使我们的库存应用程序在多用户环境中工作,我们需要

Knexjs将mysql时间戳,datetime列作为Javascript Date对象返回

我正在使用knexjs我以YYYY-MM-DD HH:mm:ss格式插入数据,例如2017-07-14 15:00:00,并且在获取数据后保存日期时间列值作为javasript Date对象返回. 我想以格式YYYY-MM-DD HH:mm:ss返回那些对象,但它以YYYY-MM-DDTHH格式返回:mm:ss.000Z,例如2017-06-23T06:44:44.000Z.我通过手动迭代和转换它

javascript – 为什么我的承诺链失败了?

我正在尝试使用knex来播种数据库.在贡献者的帮助下,我成功地在一张桌子上播种了我需要采取的几个步骤: >我需要从几个外部表中提取id值,这样我就可以填充种子表的外键值. >在种子表中生成n条记录.>填充表格. 如上所述,我在一张桌子上工作.因为我比一个屋顶大头钉更聪明,并且必须为另

javascript – 如何使用POST路由从表单中检索数据?

我试图从Bootstrap表单元素中检索数据,并使用Express和Knex将其保存到PostgresSQL数据库.我运行路线时没有错误;但是,表单中的数据保存为null.这是我的表单元素(我正在使用React): render() { return ( <form> <div className ="form-group"> <label>Add a Not

javascript – 如何将单个文件指定为仅种子

我正在使用knex进行播种,我有一个名为development的文件夹,其中包含所有种子文件. 我想要的是:如何播种单个文件. 我使用的命令是:knex seed:run –env = development 但是这个命令是播种所有文件,我在db上得到重复的行. 假设我昨天已经创建了种子文件,并且我播种了它们,今天我想添加

mysql – 使用knex.js的我的Sql Alter表

需要使用knex更改MySql Db中列的数据类型和默认值; 稍后数据类型是日期,需要将其更改为dateTime以及从NULL更改为CURRENT_TIMESTAMP所需的默认值 下面给出了MySql Query实现的相应功能 ALTER TABLE `Employees` CHANGE COLUMN `added_date` `added_date` DATETIME DEFAULT CURREN

javascript – 使用Knex.js的select语句的子查询

我正在尝试使用Knex使用子查询创建以下查询: SELECT t.*, (SELECT COUNT(*) FROM team_users tu WHERE TeamID = t.ID) AS UserCount, (SELECT COUNT(*) FROM team_access ta WHERE TeamID = t.ID) AS AppCount FROM teams t WHERE OwnerUserID = _UserID; 结果应该是team