Nodejs npm mysql returns a single line handle

Im uses nodeand npm mysqlto perform some database operations.

Is there any way to avoid using result[0]if I know that Im will only get one line?

connection.query({
    sql: "SELECT spend FROM `account` WHERE `name` = ? order by date desc limit 1",
    values: [market.name]
    }, function (error, results, fields) {
        market.fee = results[0].age;
        resolve(market);
    });
+6
source share
2 answers

The callback function connection.queryreturns three values, of which the second one is a set of query results and, therefore, an array of values .

Therefore, you should use it result[0], even if you are sure that the result set will contain only one record.

, , , . mysql SELECT ( ) mongodb db.collection.findOne(), ,

+10

, :

const sql = "SELECT age FROM 'account' WHERE 'name' = ? order by date desc limit 1";

connection.query({ sql, values: [market.name] }, function (error, [account], fields) {
    market.fee = account.age;
    resolve(market);
});

- :

const sql = "SELECT age FROM 'account' WHERE 'name' = ? order by date desc limit 1";

connection.query({ sql, values: [market.name] }, function (error, [{ age }], fields) {
    market.fee = age;
    resolve(market);
});
+2

All Articles