.net 如何在DynamoDb中实现Where函数?

bttbmeg0  于 2023-01-06  发布在  .NET
关注(0)|答案(2)|浏览(110)

我想为DynamoDb集合创建一个函数Where,就像LINQ Where一样。
我想用QueryRequest或ScanRequest来完成。
有没有关于怎么做的信息?

nimxete2

nimxete21#

这并不是DynamoDB真正的“方式”。当你写数据时,你需要考虑访问模式。你需要读的主要东西是二级索引(start here)。
如果你想要一个关系数据库,你可以用DynamoDB来实现,但是你必须为它工作。你可以得到难以置信的扩展,但是你必须事先做一些仔细的思考。这里有一个good article on relational design

lkaoscv7

lkaoscv72#

如果您想在DynamoDB中使用WHERE或类似SQL的表达式,那么您可以使用PartiQL,它是DynamoDB低级API周围的SQL Package 器。
ExecuteStatement是您进行的API调用,如下所示:

// Import required AWS SDK clients and commands for Node.js.
import { ExecuteStatementCommand } from "@aws-sdk/client-dynamodb";
import { ddbDocClient } from "../libs/ddbDocClient";

const tableName = process.argv[2];

export const run = async (tableName) => {
  const params = {
    Statement: "SELECT * FROM " + tableName + " where title ='Top Gun'"
  };
  try {
    const data = await ddbDocClient.send(new ExecuteStatementCommand(params));
    console.log(data);
    return "Run successfully"; // For unit tests.
  } catch (err) {
    console.error(err);
  }
};
run(tableName);

相关问题