收藏
回答

小程序里knex操作腾讯云的云数据库MySQL,没有反应,求解

问题模块
API和组件

const { mysql: config } = require('../config');

var knex = require('knex')({

    client: 'mysql',

    connection: {

    host: config.host,

    port: config.port,

    user: config.user,

    password: config.pass,

    database: config.db,

    charset: config.char,

    multipleStatements: true

    }

});

knex('test').insert({ id: '1', name: 'Tom', sex: 'male', age: '18' }).returning('*');


最后一次编辑于  2017-09-16  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

7 个回答

  • Jason
    Jason
    2017-09-18

    knex返回的是一个promise,所以应该这么使用:

    knex('test').insert({ id: '1', name: 'Tom', sex: 'male', age: '18' }).returning('*').then(res => {  console.log(res) })


    另外建议支持使用 SDK 导出的 MySQL 实例:

    const { mysql } = require('../qcloud')

    mysql('test').insert({ id: '1', name: 'Tom', sex: 'male', age: '18' }).returning('*').then(res => {  console.log(res) })

    2017-09-18
    赞同
    回复
  • 大尾巴狼
    大尾巴狼
    2017-09-24

    楼主,求教,这部分操作数据库的源码,写在哪?官方下载下来的源码的:

    \wafer2-startup-2.0.1\server\tools\initdb.js里面?

    在哪里操作?

    比如我在页面上的按钮上点击,要怎么引入这个initdb.js里面的操作数据库这段?

    谢谢回复了

    2017-09-24
    赞同
    回复
  • Jason
    Jason
    2017-09-28

    不是的,数据库操作封装在了 SDK 里面了。initdb 只是初始化数据库而已。 const { mysql } = require('../qcloud') 这样可以导出 MySQL 的实例。

    2017-09-28
    赞同
    回复
  • 学哲
    学哲
    2017-10-18

    还是。给个。具体实例吧,我昨天开始尝试着连接mysql,not work

    2017-10-18
    赞同
    回复
  • 王兴宇
    王兴宇
    2017-12-10

    @Jason  也是数据库这里弄了很久还是搞不定,前端总是没数据或者出错,帮忙看下。

    另外,后端的代码上传到了腾讯云,怎么查看到node打印出来的东西啊?

    module.exports = async (ctx, next) => {
      if (ctx.state.$wxInfo.loginState === 1) {
        /*const { mysql: config } = require('../config');
        var knex = require('knex')({
          client: 'mysql',
          connection: {
            host: config.host,
            port: config.port,
            user: config.user,
            password: config.pass,
            database: config.db,
            charset: config.char,
            multipleStatements: true
          }
        });
        knex('question_sort').select('id').then(res => {
          ctx.state.data = res;
        })*/
        const { mysql } = require('../qcloud')
        mysql('question_sort').select('id').then(res => {
          console.log(res)
          ctx.state.data = res;
        })
      } else {
        ctx.state.code = -1
      }
    }


    2017-12-10
    赞同
    回复
  • 杨义锋
    杨义锋
    2018-02-06

    @Jason, SDK初始化了 cAuth 数据,如果希望将业务数据库与会话数据库分离。建议如何操作?谢谢。

    2018-02-06
    赞同
    回复
  • 问归期杨柳依
    问归期杨柳依
    2018-04-03

    强烈建议官方给出小程序解决方案中如何增删改差数据库的例子

    2018-04-03
    赞同
    回复