使用 npm orm 接收数据库的所有元素
Receive all elements of database with npm orm
我使用 npm orm 并且我已经可以创建新的数据库条目。现在我想接收所有条目,但它没有按预期工作。我使用 .all
函数来接收条目,但它不起作用。
应用程序
var express = require('express');
var path = require('path')
var app = express();
var bodyParser = require('body-parser');
var orm = require('orm');
var db = orm.connect('mysql://root:fdB2bJ6p@localhost/iDanGManagement', function(err, db) {
if (err) throw err;
});
module.exports = db;
var Person = db.define('person', {
id: { type: 'serial', key: true },
name: { type: 'text' },
email: { type: 'text' }
});
// views
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
// join public dir
app.use(express.static(path.join(__dirname, 'public')));
// parse stuff
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
// routes
app.get('/', function(req, res) {
Person.all(function(err, persons) {
if(err) return err;
console.log(persons, persons.name)
});
res.render('index');
});
app.post('/add', function(req, res) {
var new_person = {};
new_person.name = req.body.name;
new_person.email = req.body.email;
Person.create(new_person, function(err, results) {
if (err) throw err;
});
});
var server = app.listen(3000, function() {
var host = server.address().address;
var port = server.address().port;
console.log('Example app listening at http://%s:%s', host, port);
});
当我打印 persons.name
时,我只是收到 undefined。输出人数:
[ { id: [Getter/Setter],
name: [Getter/Setter],
email: [Getter/Setter] } ]
而且我没有收到任何错误。你们知道为什么这不起作用吗?
尝试
Person.find({}, function(err, persons) {
if(err) return err;
console.log(persons, persons.length);
});
甚至:
Person.find(function(err, persons) {
if(err) return err;
console.log(persons, persons.length);
});
这对你有用吗?
编辑*
遍历人物:
Person.all(function(err, persons) {
persons.forEach(function(person){
console.log(person);
});
});
我使用 npm orm 并且我已经可以创建新的数据库条目。现在我想接收所有条目,但它没有按预期工作。我使用 .all
函数来接收条目,但它不起作用。
应用程序
var express = require('express');
var path = require('path')
var app = express();
var bodyParser = require('body-parser');
var orm = require('orm');
var db = orm.connect('mysql://root:fdB2bJ6p@localhost/iDanGManagement', function(err, db) {
if (err) throw err;
});
module.exports = db;
var Person = db.define('person', {
id: { type: 'serial', key: true },
name: { type: 'text' },
email: { type: 'text' }
});
// views
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
// join public dir
app.use(express.static(path.join(__dirname, 'public')));
// parse stuff
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
// routes
app.get('/', function(req, res) {
Person.all(function(err, persons) {
if(err) return err;
console.log(persons, persons.name)
});
res.render('index');
});
app.post('/add', function(req, res) {
var new_person = {};
new_person.name = req.body.name;
new_person.email = req.body.email;
Person.create(new_person, function(err, results) {
if (err) throw err;
});
});
var server = app.listen(3000, function() {
var host = server.address().address;
var port = server.address().port;
console.log('Example app listening at http://%s:%s', host, port);
});
当我打印 persons.name
时,我只是收到 undefined。输出人数:
[ { id: [Getter/Setter],
name: [Getter/Setter],
email: [Getter/Setter] } ]
而且我没有收到任何错误。你们知道为什么这不起作用吗?
尝试
Person.find({}, function(err, persons) {
if(err) return err;
console.log(persons, persons.length);
});
甚至:
Person.find(function(err, persons) {
if(err) return err;
console.log(persons, persons.length);
});
这对你有用吗?
编辑*
遍历人物:
Person.all(function(err, persons) {
persons.forEach(function(person){
console.log(person);
});
});