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查询。
我正在使用 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查询。