【问题标题】:Datastax Node.js Cassandra driver When to use a Mapper vs. QueryDatastax Node.js Cassandra 驱动程序何时使用映射器与查询
【发布时间】:2020-11-23 19:38:42
【问题描述】:

我正在使用 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' });

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

【问题讨论】:

    标签: node.js database cassandra


    【解决方案1】:

    Mapper 是 cassandra-driver 于 2018 年发布的一项功能。使用 mapper,cassandra-driver 可以将您的 cassandra 表映射到 nodejs 中的对象,您可以在 nodejs 应用程序中像处理一组文档一样处理。

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

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-01-02
        • 2014-03-31
        • 2016-09-21
        • 2017-03-28
        • 2015-10-25
        • 2020-11-14
        • 2017-04-09
        • 2017-08-17
        相关资源
        最近更新 更多