【问题标题】:select from MySql db from sails in native query从本机查询中的风帆中选择 MySql db
【发布时间】:2015-02-17 23:23:15
【问题描述】:

我想得到结果:组+属于当前组的消息数 例如:

webdevelopment - 34 messages

如何在不执行 _.each 的情况下获得相同的结果

我怎样才能得到一个查询的结果 我用过MySql, 我的代码是这样的

 Group.find().exec(function (err, groups) {
        if (err)
            return next(err);
        _.each(groups, function (grouper) {
            Messages.count({
                groupId : grouper.groupId,
            }).exec(function (err, found) {
                console.log(grouper.groupName + ' - ' + found + ' messages.');

            });
        });
    });

我的模块有点像这样

模块消息

module.exports = {
  attributes: {
    id:{
         type: 'integer',
         primaryKey: true,
         autoIncrement: true
      },
    groupId:{
        type:'int'
    }
  }
};

模块组

module.exports = {
  attributes: {
  id:{
     type: 'integer',
     primaryKey: true,
     autoIncrement: true
  },
  groupName:{
    type:'string'
  }

  }
};

【问题讨论】:

    标签: mysql node.js sails.js


    【解决方案1】:

    您需要编写给出所需结果的 SQL 查询。假设查询是:

    var myQuery = "Select ... from ...";

    现在您可以使用Modelquery 方法执行查询,如下所示:

    Group.query(myQuery, function(err, res) {
      /* use res.rows to get the result */
    });
    

    使用查询方法时使用哪种模型无关紧要。

    【讨论】:

      【解决方案2】:

      从 Sails v1 开始,Model.query 已被弃用,改为使用 sails.sendNativeQuery(queryString, paramArray)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-04
        • 2010-12-25
        • 2021-11-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多