Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
meteor中的mysql npm模块_Mysql_Meteor_Npm - Fatal编程技术网

meteor中的mysql npm模块

meteor中的mysql npm模块,mysql,meteor,npm,Mysql,Meteor,Npm,我正在玩done中的npm mysql模块,看看是否可以对数据库运行查询以将数据提取到meteor.js应用程序中 我已经创建了一个基本meteor项目,并完成了SudoNPM安装-gMySQL 在这个阶段,项目中的代码非常简单(这可能就是问题所在)。我的server/startup.js文件中有以下内容 var mysqlDriver = Meteor.npmRequire('mysql'); var connection; Meteor.methods({ 'connectDB': f

我正在玩done中的npm mysql模块,看看是否可以对数据库运行查询以将数据提取到meteor.js应用程序中

我已经创建了一个基本meteor项目,并完成了SudoNPM安装-gMySQL

在这个阶段,项目中的代码非常简单(这可能就是问题所在)。我的server/startup.js文件中有以下内容

var mysqlDriver = Meteor.npmRequire('mysql');
var connection;

Meteor.methods({
  'connectDB': function connectDB(){
    connection = mysqlDriver.createConnection({
      host: '10.1.23.2',
      user: 'user',
      password: 'password'
    });
  },
  'queryDB': function queryDB() {
    connection.connect();
    connection.query('dl.SETTLEMENTDATE, dl.INITIALMW, dl.TOTALCLEARED,  dl.SEMIDISPATCHCAP from bocorock.DISPATCHLOAD dl  where dl.duid in ("BOCORWF1") order by dl.settlementdate desc limit 100', function(err, rows, fields) {
      console.log('err', err);
      console.log('rows', rows);
      console.log('fields', fields);
    });
  }
})
这是目前项目中唯一的文件

当我尝试运行这个(流星运行)时,我得到以下错误

=> Started MongoDB.     
W20140925-14:38:04.535(10)? (STDERR) 
W20140925-14:38:04.595(10)? (STDERR) /home/pnunn/.meteor/packages/meteor-tool/.1.0.31.7wezrh++os.linux.x86_64+web.browser+web.cordova/meteor-tool-os.linux.x86_64/dev_bundle/lib/node_modules/fibers/future.js:173
W20140925-14:38:04.596(10)? (STDERR)                                            throw(ex);
W20140925-14:38:04.596(10)? (STDERR)                                                  ^
W20140925-14:38:04.596(10)? (STDERR) TypeError: Object #<Object> has no method 'describe'
W20140925-14:38:04.596(10)? (STDERR)     at app/server/packages/npm-container/package.js:4:11
W20140925-14:38:04.596(10)? (STDERR)     at app/server/packages/npm-container/package.js:23:3
W20140925-14:38:04.596(10)? (STDERR)     at /home/pnunn/src/meteor/mysqlTest/.meteor/local/build/programs/server/boot.js:161:10
W20140925-14:38:04.597(10)? (STDERR)     at Array.forEach (native)
W20140925-14:38:04.597(10)? (STDERR)     at Function._.each._.forEach (/home/pnunn/.meteor/packages/meteor-tool/.1.0.31.7wezrh++os.linux.x86_64+web.browser+web.cordova/meteor-tool-os.linux.x86_64/dev_bundle/lib/node_modules/underscore/underscore.js:79:11)
W20140925-14:38:04.597(10)? (STDERR)     at /home/pnunn/src/meteor/mysqlTest/.meteor/local/build/programs/server/boot.js:82:5
=> Exited with code: 8
=>启动了MongoDB。
W20140925-14:38:04.535(10)?(标准)
W20140925-14:38:04.595(10)?(STDERR)/home/pnunn/.meteor/packages/meteor tool/.1.0.31.7wezrh++os.linux.x86_64+web.browser+web.cordova/meteor tool os.linux.x86_64/dev_bundle/lib/node_modules/fibers/future.js:173
W20140925-14:38:04.596(10)?(标准)投掷(ex);
W20140925-14:38:04.596(10)?(标准)^
W20140925-14:38:04.596(10)?(STDERR)TypeError:对象#没有方法“descripe”
W20140925-14:38:04.596(10)?(STDERR)位于app/server/packages/npm container/package.js:4:11
W20140925-14:38:04.596(10)?(STDERR)位于app/server/packages/npm container/package.js:23:3
W20140925-14:38:04.596(10)?(STDERR)位于/home/pnunn/src/meteor/mysqlTest/.meteor/local/build/programs/server/boot.js:161:10
W20140925-14:38:04.597(10)?(STDERR)位于Array.forEach(本机)
W20140925-14:38:04.597(10)?(STDERR)at Function.each.forEach(/home/pnunn/.meteor/packages/meteor tool/.1.0.31.7wezrh++os.linux.x86_64+web.browser+web.cordova/meteor tool os.linux.x86_64/dev_bundle/lib/node_modules/下划线/下划线.js:79:11)
W20140925-14:38:04.597(10)?(STDERR)位于/home/pnunn/src/meteor/mysqlTest/.meteor/local/build/programs/server/boot.js:82:5
=>已退出,代码为:8
我有点不知所措,不知到哪里去找这个

有什么想法吗?我是不是错过了什么重要的东西


Peter.

因为Meteor使用自己的包管理器,所以它不能直接与npm兼容。要使用npm软件包,您需要:

  • 将包添加到项目中

  • 在项目目录中创建
    packages.json
    文件,并定义包:

    {
      "mysql": "2.5.1"
    }
    
  • 使用
    Meteor.npmRequire
    而不是
    require


是的。。现在就是这样。参见var mysqlDriver=Meteor.npmRequire('mysql');应该说我正在使用meteorhacks:npm抱歉。这一个没有任何进展。我已经更新到0.9.3,但仍然有相同的错误。meteor列表显示autopublish 1.0.0将整个数据库发布到所有客户端不安全1.0.0默认情况下允许所有数据库写入meteor平台1.1.1在应用程序中包含一组标准meteor软件包meteorhacks:npm 1.2.0将npm模块与meteor应用程序一起使用npm容器1.0.0包含所有npm依赖项,如果这对任何人都有意义。