首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在流星MySQL上进行动态查询?

如何在流星MySQL上进行动态查询?
EN

Stack Overflow用户
提问于 2015-10-09 08:24:35
回答 2查看 418关注 0票数 0

我一直在尝试使用numtel:mysql包对来自Meteor的MySQL进行动态查询。到目前为止,它还不成功。也许我需要知道如何将动态参数传递给订阅,或者需要知道如何以数组或对象而不是游标的形式获得新的结果(liveDb是通过调用liveDb.select LiveMysql(...)实例化的)。我曾尝试在服务器端的一个方法中执行查询(如Meteor.methods(...)中声明的那样,该方法不返回结果。如果任何人有这方面的代码示例,将不胜感激!

EN

回答 2

Stack Overflow用户

发布于 2016-03-08 14:36:12

这里是使用Meteor和MySQL进行select查询、execute存储过程、像publish subscribe方法这样的用户mongo以及publish中的连接查询的有用链接。

  1. MySql:numtel package
  2. Leaderboard MySql example

//来自Leaderboard MySql example的以下代码引用

Meteor.publish(‘所有播放器’,function() { return liveDb.select( 'SELECT * FROM players BY score‘,{ table:'players’});} );Meteor.publish('playerScore',function( name ) { return liveDb.select( 'SELECT id,score FROM players name =‘+ liveDb.db.escape(name),{ table:'players',condition: function(row,newRow,rowDeleted) { //更新查询事件提供的函数名返回|| (newRow && newRow.name === name);}} );Meteor.methods({ 'incScore':function(id,amount) { check(id,Number);check(amount,Number);check(amount,Number);liveDb.db.query(‘更新玩家SET score = score +?其中id = ?',金额,id );}}));

票数 0
EN

Stack Overflow用户

发布于 2016-11-08 09:23:35

您需要使用Meteor.publish中定义的相同参数在MysqlSubscription上调用change。

在我的例子中:

代码语言:javascript
复制
    export const mySqlSubscription = new MysqlSubscription('tableName');

    Meteor.publish('tableName', function(filters){
        var filterString = buildFilterString(filters);

        var qString = 'SELECT ..... FROM tableName '+filterString;

        //console.log(qString);

        return liveDb.select( qString, [ { table: 'tableName' } ] );            
        }
    );

然后,每当我想要为不同的过滤器更新订阅时,我都会调用:

代码语言:javascript
复制
    mySqlSubscription.change(this.getReactively('filterRecord'));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33028023

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档