var mysql = require('mysql');
var Schema = mysql.Schema;
var HumanSchema = new Schema({
fname : String,
lname : String,
age : String,
address: String,
city : String
})
var Model = mysql.Model('Human',HumanSchema);
module.exports = Model;
这是我在Angular 2和node js app中的Model代码。 编译时说
D:\Angular2MEANStack-master\models\model.js:3
var HumanSchema = new Schema({
^
TypeError: Schema is not a constructor
at Object.<anonymous> (D:\Angular2MEANStack-master\models\model.js:3:19)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (D:\Angular2MEANStack-master\routes\api.js:3:13)
at Module._compile (module.js:570:32)
我已经安装了所有必需的依赖项。但是无法部署这个。
答案 0 :(得分:0)
从我所看到的,您实际上无法使用该npm包创建一个mysql数据库模型。您需要使用ORM
之类的sequelize
连接工具才能在mysql数据库中建立连接并执行操作。您可能决定查看此续集文档,了解如何能够执行此操作。
http://docs.sequelizejs.com/manual/installation/getting-started
答案 1 :(得分:0)
mysql 只是MySQL的node.js驱动程序。
var mysql = require('mysql');
在上面的代码中你正在使用&#34; mysql&#34;驱动程序,您只能使用库提供的特定功能。
请参阅https://www.npmjs.com/package/mysql或https://github.com/mysqljs/mysql
上的文档// Sample code with mysql
var mysql = require('mysql');
var connection = mysql.createConnection({
host: 'localhost',
user: 'me',
password: 'secret',
database: 'my_db'
});
connection.connect();
connection.query('SELECT 1 + 1 AS solution', function (error, results, fields) {
if (error) throw error;
console.log('The solution is: ', results[0].solution);
});
connection.end();
现在,如果您正在寻找能够很好地处理数据库交互的ORM,您可以使用Sequelize。