如果该值存在,则增加该值,否则在DynamoDB中添加一个新条目

里沙卜·古普塔(Rishab Gupta)

我有一个带有列和主键的DynamoDB表,如下所示ipAddress

  • IP地址
  • 造访

我正在从我的React网站获取用户的IP地址,并通过Lambda函数和API Gateway POST请求将其插入DynamoDB。

如果DynamoDB中已经存在来自React网站的IP地址,则增加visits列中的值如果不是,则使用新的IP地址和创建一个新记录visits = 1我尝试使用ConditionExpression,但无济于事。

到目前为止,我仅使用Lambda插入ipAddress。以下是我在NodeJS中的Lambda函数:

const AWS = require("aws-sdk");
const documentClient = new AWS.DynamoDB.DocumentClient();

exports.handler = async event => {
  const { ipAddress} = JSON.parse(event.body);
  const params = {
    TableName: "ipAddress",
    Item: {
      ipAddress: ipAddress,
    }
  };

  try {
    const data = await documentClient.put(params).promise();
    const response = {
      statusCode: 200,
    };
    return response;
  }
  catch (e) {
    return {
      statusCode: 500,
      body: JSON.stringify(e)
    };
  }

};
Balu vyamajala

我们需要使用update-item而不是put-item,如果record不存在,则两者都会创建一条记录。但是update-item接受UpdateExpression来帮助我们更新现有属性。

UpdateExpression: "SET visits = if_not_exists(visits, :initial) + :num"

if_not_existsinitial当属性visits不存在时,有助于首次使用

docClient.update(
  {
    TableName: "ipAddress",
    Key: {
      ipAddress: ipAddress,
    },
    UpdateExpression: "SET visits = if_not_exists(visits, :initial) + :num",
    ExpressionAttributeValues: {
      ":num": 1,
      ":initial": 0,
    },
  },
  function (error, result) {
    console.log("error", error, "result", result);
  }
);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如果该值存在,则增加该值,否则在DynamoDB中添加一个新条目

来自分类Dev

如果字典中不存在该值,则添加一个值

来自分类Dev

如果数据库中存在一个值,我该如何更新,否则我要插入它

来自分类Dev

如果该值尚不存在,请向其复选框中添加一个值

来自分类Dev

如果提供的选项中存在该值,为什么Angular会添加一个空的<option>?

来自分类Dev

熊猫:如果预先存在的列包含一些值,则使用“是”创建一个新列;如果该列的值为“”,则创建一个“否”

来自分类Dev

如果该值存在于另一个表中,则从该表返回另一个值

来自分类Dev

如果另一个数据框中存在一个数据框值,则从该数据框中获取一个值

来自分类Dev

Excel:检查列A是否具有特定值,如果是,则在该值所在的行中显示另一个单元格

来自分类Dev

通过增加一个值,另一个值增加该数量

来自分类Dev

在df中添加一列,如果某个值是0,则返回1,否则返回该列的原始值

来自分类Dev

添加一个新的数据框列,该列对某些列中的值进行计数,该值小于时间之前的日期

来自分类Dev

如果表中存在行,则在SQL中使用另一个表值

来自分类Dev

如果R中的另一个列中未包含该值,则删除该值

来自分类Dev

如果R中的另一个列中未包含该值,则删除该值

来自分类Dev

如何在pySpark数据框中添加一个新列,该列包含计数大于0的列值?

来自分类Dev

添加一个新列,该列根据现有字段值自动递增

来自分类Dev

如果另一列中的某个值是离群值,如何在R中创建一个新的列,该列为1?

来自分类Dev

将一个列条目的值复制到同一记录的另一个列,如果该值为null

来自分类Dev

如何在列表中的每个元组中添加一个新条目,该列表是 erlang 中的元组集合?

来自分类Dev

为所有用户使用一个值更新列的所有值(如果存在该值)

来自分类Dev

如果存在基于另一个列值的行,则熊猫会删除该列值

来自分类Dev

为所有用户使用一个值更新列的所有值(如果存在该值)

来自分类Dev

如果值已经存在,则在codeigniter上使用bootstrapvalidation来确定该值是否已存在

来自分类Dev

如果一列中存在数字,请在与该数字对应的另一列中查找一个值

来自分类Dev

如果存在URL的最后一个斜杠之后的字符串,则捕获该值;如果不是,则捕获最后一个斜杠之前的值(javascript)

来自分类Dev

创建一个索引,该索引在否则有规律地增加的行中的每个间隔之后增加

来自分类Dev

如果另一个表中不存在该值,如何将列中的字段值更改为“其他”?

来自分类Dev

如果该数据不存在于另一个表中,该如何选择该数据?

Related 相关文章

  1. 1

    如果该值存在,则增加该值,否则在DynamoDB中添加一个新条目

  2. 2

    如果字典中不存在该值,则添加一个值

  3. 3

    如果数据库中存在一个值,我该如何更新,否则我要插入它

  4. 4

    如果该值尚不存在,请向其复选框中添加一个值

  5. 5

    如果提供的选项中存在该值,为什么Angular会添加一个空的<option>?

  6. 6

    熊猫:如果预先存在的列包含一些值,则使用“是”创建一个新列;如果该列的值为“”,则创建一个“否”

  7. 7

    如果该值存在于另一个表中,则从该表返回另一个值

  8. 8

    如果另一个数据框中存在一个数据框值,则从该数据框中获取一个值

  9. 9

    Excel:检查列A是否具有特定值,如果是,则在该值所在的行中显示另一个单元格

  10. 10

    通过增加一个值,另一个值增加该数量

  11. 11

    在df中添加一列,如果某个值是0,则返回1,否则返回该列的原始值

  12. 12

    添加一个新的数据框列,该列对某些列中的值进行计数,该值小于时间之前的日期

  13. 13

    如果表中存在行,则在SQL中使用另一个表值

  14. 14

    如果R中的另一个列中未包含该值,则删除该值

  15. 15

    如果R中的另一个列中未包含该值,则删除该值

  16. 16

    如何在pySpark数据框中添加一个新列,该列包含计数大于0的列值?

  17. 17

    添加一个新列,该列根据现有字段值自动递增

  18. 18

    如果另一列中的某个值是离群值,如何在R中创建一个新的列,该列为1?

  19. 19

    将一个列条目的值复制到同一记录的另一个列,如果该值为null

  20. 20

    如何在列表中的每个元组中添加一个新条目,该列表是 erlang 中的元组集合?

  21. 21

    为所有用户使用一个值更新列的所有值(如果存在该值)

  22. 22

    如果存在基于另一个列值的行,则熊猫会删除该列值

  23. 23

    为所有用户使用一个值更新列的所有值(如果存在该值)

  24. 24

    如果值已经存在,则在codeigniter上使用bootstrapvalidation来确定该值是否已存在

  25. 25

    如果一列中存在数字,请在与该数字对应的另一列中查找一个值

  26. 26

    如果存在URL的最后一个斜杠之后的字符串,则捕获该值;如果不是,则捕获最后一个斜杠之前的值(javascript)

  27. 27

    创建一个索引,该索引在否则有规律地增加的行中的每个间隔之后增加

  28. 28

    如果另一个表中不存在该值,如何将列中的字段值更改为“其他”?

  29. 29

    如果该数据不存在于另一个表中,该如何选择该数据?

热门标签

归档