Nodejs — Apache Cassandra (с использованием драйвера Datastax)

Я пытаюсь вставить тип карты в кассандру:

const query = 'INSERT INTO stats.tickets (office, line, generation, inserted_at, meta, number, prefix) VALUES (:office, :line, :generation, :inserted_at, :meta, :number, :prefix)';

const parametersExample = {
    office: "office",
    line: "line",
    generation: 10,
    inserted_at: Date.now(),
    meta: {"tag1": "ujkukkik", "tag2": "asdascee"},
    number: 1,
    prefix: "prefix_"
};

const result = async () => {
    return await client.execute(query, parametersExample, { prepare: true });
};

result().then( res => {
    res.rows.map( row => console.log(row.content) );
    process.exit();
}).catch( err => console.error(err));

Код вставляет строку, но показывает следующее сообщение:

TypeError: Cannot read property 'map' of undefined
at lib/handleData.js:23:14
at <anonymous>
at process._tickDomainCallback (internal/process/next_tick.js:228:7)

Какова причина?


person Cocuba    schedule 24.08.2018    source источник


Ответы (1)


Это нормальное поведение — согласно документации по CQL:

INSERT не возвращает никаких результатов, если не используется IF NOT EXISTS.

Таким образом, драйвер получает undefined... Обычно для выбора используется .map.

person Alex Ott    schedule 24.08.2018