从不进行扫描的表中获取所有项目

编程入门 行业动态 更新时间:2024-10-06 12:19:28

从不进行扫描的表中获取所有<a href=https://www.elefans.com/category/jswz/34/1771421.html style=项目"/>

从不进行扫描的表中获取所有项目

目前,我具有使用SCAN选项从DynamoDB表中获取所有项目的功能。这是一种昂贵的方法,我更喜欢使用QUERY选项。但是,查看文档似乎不是一种使用QUERY选项检索所有项目的简单方法-它需要某种条件。

示例

var params = {
    TableName : "Movies",
    KeyConditionExpression: "#yr = :yyyy",
    ExpressionAttributeNames:{
        "#yr": "year"
    },
    ExpressionAttributeValues: {
        ":yyyy": 1985
    }
};

docClient.query(params, function(err, data) {
    if (err) {
        console.error("Unable to query. Error:", JSON.stringify(err, null, 2));
    } else {
        console.log("Query succeeded.");
        data.Items.forEach(function(item) {
            console.log(" -", item.year + ": " + item.title);
        });
    }
});

期望

var params = {
    TableName : "Movies"  
};

docClient.query(params, function(err, data) {
    if (err) {
        console.error("Unable to query. Error:", JSON.stringify(err, null, 2));
    } else {
        console.log("Query succeeded.");
        data.Items.forEach(function(item) {
            console.log(" -", item.year + ": " + item.title);
        });
    }
});

是否可以使用QUERY从表中检索所有数据?我曾考虑过使用BEGINS_WITH等,但是所有的主键都是不同的/随机的,并且不以特定的字符或短语开头。

回答如下:

通过查询的唯一方法是分别遍历每个分区键。

我建议您查看围绕您的查询建立的二级索引,这样可以提高效率:https://docs.aws.amazon/amazondynamodb/latest/developerguide/SecondaryIndexes.html

更多推荐

从不进行扫描的表中获取所有项目

本文发布于:2024-05-07 14:35:44,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1756710.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:项目

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!