我正在使用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);使用mapper:
const tableRow = await tableMapper.find({ id: '12345' });
什么时候我应该在查询上使用映射器,反之亦然?
发布于 2020-08-04 11:13:22
Mapper是cassandra-driver于2018年发布的一个功能。使用mapper,cassandra-driver可以将cassandra表映射到nodejs中的对象,您可以像处理一组文档一样在nodejs应用程序中进行处理。
使用映射器,您可以在数据库中进行选择或插入,如本文所述:https://www.datastax.com/blog/2018/12/introducing-datastax-nodejs-mapper-apache-cassandra
使用query方法时,如果您需要使用或重用json中的任何属性,则需要创建一个Json.Parse()。
发布于 2020-08-04 18:21:22
简短的答案是:只要你觉得更舒服就行。
Mapper允许您将数据库数据作为文档(JavaScript对象)处理,为您构建CQL查询,执行查询并映射结果。
另一方面,核心驱动程序只支持执行您必须自己编写的CQL查询。
https://stackoverflow.com/questions/63234493
复制相似问题