首页 > 解决方案 > 从没有排序键的 dynamodb 批量条件删除

问题描述

我正在将我的数据库从 mongodb 转移到 dynamo db。我的表中的删除函数有问题,其中labName 是分区键,serialNumber 是我的排序键,并且有一个 ID 作为 feedId 我想从给出 labName 且 feedId 不在的表中删除所有记录(数组身份证)。我在 mongo 中这样做,如下面提到的代码

BatchWriteItem 有没有一种方法,我可以在没有排序键的情况下为 feedId 添加条件。

let dbHandle = await getMongoDbHandle(dbName);
    let query = {
        feedid: {$nin: feedObjectIds}
    }
let output = await dbModule.removePromisify(dbHandle, 
dbModule.collectionNames.feeds, query);

标签: node.jsmongodbamazon-dynamodb

解决方案


使用 DynamoDB 时,您只能对记录执行条件检索 (GET)/删除 (DELETE),并且仅当您提供了主键的所有属性时。例如:

  • 对于简单主键,您只需为分区键提供一个值。
  • 对于复合主键,您必须同时提供分区键和排序键的值。

推荐阅读