Получение id добавляемой записи node.js

309
26 ноября 2016, 20:11

Задача: Получить id добавляемой записи как в php, через mysql_insert_id() и вернуть обратно в клиент.

Клиент:

// В начале переменные с данными о пользователе
var ... ;
//Создание блока с сообщением и показ на странице
function msg(avatar, nick, text, my){
// В m нужно добавить получаемый id сообщения
var m = ... ;
   messages
   .append(m)
}
//Получение ответа и отправка данных в функцию
socket.on(dialog, function (data) {
   msg(
      data.avatar, 
      data.name,
      data.text, 
      data.my,
      data.id
   );
});
//Отправка на сервер
socket.emit("chat", {
   id:     dialog,
   my:     my_id
   text:   text, 
   name:   name, 
   avatar: avatar, 
});

Сервер:

client.on('chat', function (chat) {
    try {
        //Получаемые данные пользователя
        var post  = {
            dialog: chat.id, 
            text:   chat.text, 
            users:  chat.my, 
            status: 1, 
            date: new Date()
        };
        //Отправка сообщения в базу данных
        var query = connection.query(
            'INSERT INTO chat SET ?', post, function(err, result) {
            console.log('Добавлено сообщение');
        });
        //Отправка сообщения обратно на страницу 
        client.emit(chat.id, chat);
        //Здесь нужно отправить id сообщения
        client.broadcast.emit(chat.id, chat);
    } catch (e) {
        console.log(e);
        client.disconnect();
        connection.end();
    }
});
Answer 1

Если в таблице chat имеется уникальный id с AUTO_INCREMENT, то после добавления, вам должен быть доступен insertId.

//Отправка сообщения в базу данных
var query = connection.query(
    'INSERT INTO chat SET ?', post, function(err, result) {
    console.log('Добавлено сообщение с id = ' + result.insertId);
});

Документация.

READ ALSO
Поиск результатов в БД MySQL

Поиск результатов в БД MySQL

Данный скрипт выводит все найденные результаты по маске из таблицы usersКак сделать так, чтобы при нажатии на кнопку Город, сортировал по алфавиту?

234
Вопрос насчет обработчика php

Вопрос насчет обработчика php

Созрел такой вопрос: Есть форма, пользователь вводит данные, форма передаёт на обработчик, например sendphp, тот в свою очередь соединяется с mySql и вносит...

261