在console.log中显示查询的[object Object]字段

时间:2014-12-17 14:26:50

标签: javascript node.js express

我正在使用"express": "3.2.6",nodeJS v0.10.25"express-myconnection": "1.0.4",

我的数据库连接似乎有效。但是,当我转到我的视图查询时:

console.log("Data: " + rows);

我得到以下输出:

Data: [object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

我的查询方法如下所示:

exports.list = function(req, res){
    req.getConnection(function(err,connection){

        connection.query('SELECT * FROM customer',function(err,rows)     {

            if(err)
                console.log("Error Selecting : %s ",err );

            console.log("Data: " + rows);
            res.render('index.ejs',{page_title:"Customer - Node.js",data:rows});

        });

    });
};

我的customer table看起来像这样:

CREATE TABLE `customer` (
 `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
 `name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
 `street` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
 `timestamp` bigint(20) DEFAULT NULL,
 `typeOfTransaction` enum('buy','sell') COLLATE utf8_unicode_ci DEFAULT NULL,
 `price` double DEFAULT NULL,
 `quantity` double DEFAULT NULL,
 `created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
 `updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
 PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci

有关如何将数据显示为字符串的任何建议吗?

1 个答案:

答案 0 :(得分:3)

那是因为您正在使用字符串连接(string + object)。

变化:

console.log("Data: " + rows);

要:

console.log("Data:", rows);

-

演示



var obj = { foo: 'bar' };

console.log("Data: " + obj);
console.log("Data:", obj);