Datastax Node.js Cassandra 驱动程序何时使用映射器与查询

Datastax Node.js Cassandra driver When to use a Mapper vs. Query

我正在使用 Datastax Node.js 驱动程序,但我不知道何时使用映射器与查询。两者似乎都能够执行相同的 CRUD 操作。

有查询:

const q = SELECT * FROM mykeyspace.mytable WHERE id='12345';
client.execute(q).then(result => console.log('This is the data', result);

使用映射器:

const tableRow = await tableMapper.find({ id: '12345' });

我应该在什么时候对查询使用映射器,反之亦然?

Mapper 是 cassandra-driver 于 2018 年发布的一项功能。使用 mapper,cassandra-driver 可以从你的 cassandra table 映射到 nodejs 中的对象,你可以在你的nodejs应用程序像一套文档

使用映射器,您可以像本文中所说的那样在数据库中进行选择或插入: https://www.datastax.com/blog/2018/12/introducing-datastax-nodejs-mapper-apache-cassandra

使用查询方法,如果您需要使用或重复使用 json 中的任何 属性,您将需要创建一个 Json.Parse()。

简短的回答是:任何你觉得更舒服的。

Mapper 允许您将数据库数据作为文档(JavaScript 对象)处理,为您构建 CQL 查询,执行查询并映射结果。

另一方面,核心驱动只支持执行您必须自己编写的CQL查询。