MYSQL XDev API Javascript Select 全部来自table
MYSQL XDev API Javascript Select all from a table
我正在尝试从 table 中获取所有促销代码,但我不确定我们应该为绑定参数使用什么。我尝试了 '*'、' '、'%%' 和 '%' 但结果出来了 undefined/no 个结果。任何人都知道如何获得所有结果?
router.post('/getpromocodes', function(res){
mysqlx.getSession(stageConnectionmysqlx)
.then(function(session){
var promoTable = session.getSchema('exampleTable').getTable('promo')
promoTable
.select(['promo_code', 'promo_percentage', 'expiration_date'])
.where('promo_code like :promo_code')
.bind('promo_code', '*')
.execute()
})
.then(function(result){
let data = result.fetchAll()
console.log('Here is the data', data)
res.send(data)
})
.catch(function(err){
console.log('the following error occured: ' + err.message)
})
})
是否有使用 where()
子句的特定原因?最后,X Plugin 会将 CRUD 操作转换为使用 LIKE
的 SQL 语句,因此您将受到相同语法限制的约束。
https://dev.mysql.com/doc/refman/8.0/en/pattern-matching.html
在最好的情况下,您应该只删除 where()
子句,如下所示:
promoTable.select(['promo_code', 'promo_percentage', 'expiration_date'])
.execute()
问题是我把结束符 } 和 ) 放在哪里了。
.then 需要在执行后立即出现。正如 Rui 所描述的从 table 提取所有内容,不要使用 .where 和 .bind 方法。
router.post('/getpromocodes', function(res){
mysqlx.getSession(stageConnectionmysqlx)
.then(function(session){
var promoTable = session.getSchema('exampleSchema').getTable('promo')
promoTable
.select(['promo_code', 'promo_percentage', 'expiration_date'])
.execute()
.then(function(result){
let data = result.fetchAll()
console.log('Here is the data', data)
res.send(data)
})
})
.catch(function(err){
console.log('the following error occured: ' + err.message)
})
})
我正在尝试从 table 中获取所有促销代码,但我不确定我们应该为绑定参数使用什么。我尝试了 '*'、' '、'%%' 和 '%' 但结果出来了 undefined/no 个结果。任何人都知道如何获得所有结果?
router.post('/getpromocodes', function(res){
mysqlx.getSession(stageConnectionmysqlx)
.then(function(session){
var promoTable = session.getSchema('exampleTable').getTable('promo')
promoTable
.select(['promo_code', 'promo_percentage', 'expiration_date'])
.where('promo_code like :promo_code')
.bind('promo_code', '*')
.execute()
})
.then(function(result){
let data = result.fetchAll()
console.log('Here is the data', data)
res.send(data)
})
.catch(function(err){
console.log('the following error occured: ' + err.message)
})
})
是否有使用 where()
子句的特定原因?最后,X Plugin 会将 CRUD 操作转换为使用 LIKE
的 SQL 语句,因此您将受到相同语法限制的约束。
https://dev.mysql.com/doc/refman/8.0/en/pattern-matching.html
在最好的情况下,您应该只删除 where()
子句,如下所示:
promoTable.select(['promo_code', 'promo_percentage', 'expiration_date'])
.execute()
问题是我把结束符 } 和 ) 放在哪里了。
.then 需要在执行后立即出现。正如 Rui 所描述的从 table 提取所有内容,不要使用 .where 和 .bind 方法。
router.post('/getpromocodes', function(res){
mysqlx.getSession(stageConnectionmysqlx)
.then(function(session){
var promoTable = session.getSchema('exampleSchema').getTable('promo')
promoTable
.select(['promo_code', 'promo_percentage', 'expiration_date'])
.execute()
.then(function(result){
let data = result.fetchAll()
console.log('Here is the data', data)
res.send(data)
})
})
.catch(function(err){
console.log('the following error occured: ' + err.message)
})
})