Skip to content

查询数据


Db()

可以通过 Db() 去指定表和数据源,接收两个参数。

注意:
  • select() finOne() count() 这种执行查询动作的要放到链路的末尾。
  • insert() insertAll() update() decr() incr() delete() 这种增删改动作的也要放到链路的末尾。
  • 以上这些动作均可以通过传入参数来控制是否打印当前的SQL语句到控制台,注意文档中标注的参数
  • 还可以在 config/app.ts 中设置 sqlDebug 全局开启打印,这时自定义开启的将失效
  • 增删改查等均为 Promise 在使用时请注意 async await
  • @param tableName 表名
  • @param db 数据源, 不指定默认会取第一个数据源

查询一条数据 findOne()

(isShowSql: boolean = false)

Db('user').where('age', '>', 10).findOne()
Db('user').where('age', '>', 10).findOne()

最终生成的SQL语句为:

SELECT * FROM user WHERE age > 10 LIMIT 1
SELECT * FROM user WHERE age > 10 LIMIT 1

查询数据集 select()

(isShowSql: boolean = false)

Db('user').where('age', 10).select()
Db('user').where('age', 10).select()

最终生成的SQL语句为:

SELECT * FROM user WHERE age = 10
SELECT * FROM user WHERE age = 10

多数据源查询

Db('user', 'db').where('age', '>', 10).findOne()
Db('user', 'db2').where('age', '>', 10).findOne()
Db('user', 'db').where('age', '>', 10).findOne()
Db('user', 'db2').where('age', '>', 10).findOne()

备案号:冀ICP备20015584号-2