DynamoDb.net:添加操作符,并以正确的方式获取多个值

问题描述

我在这里使用 Dynamodb.net 我正在尝试使用 In Operator 获取两条记录,当我使用以下代码时,我正确获得了预期的输出

source_id 是我的排序键

List<Object> users = new List<Object>(); 
            users .Add("Luke");
            users .Add("Ivan");
            object[] userArr= users .ToArray();
            var results = _dynamoService.DbContext.Scan<AITrackerData>(new ScanCondition("source_id",ScanOperator.In,userArr));
            foreach (var item in results)
            {

            }

这是从 dynamo dB 获取数据的正确方法吗?如果我使用 _dynamoService.DbContext.Scan

会导致性能问题吗

我使用了下面的代码但它不起作用,并给出错误

Amazon.DynamoDBv2.AmazonDynamoDBException:'尝试的条件约束不是可索引的操作'

不确定我在这里做错了什么。

 var opConfig = new DynamoDBOperationConfig();
                opConfig.OverrideTableName = "User";
                opConfig.QueryFilter = new List<ScanCondition>();
                opConfig.QueryFilter.Add(new ScanCondition("source_id",userArr));
                var response = _dynamoService.DbContext.Query<AITrackerData>(source,opConfig);
                foreach (var item in response)
                {
    
                }
    

任何人都可以建议获取数据的正确方法

解决方法

 object[]users  = { "Luke","Ivan" };
            IEnumerable<AITrackerData> results =
                 _dynamoService.DbContext.Query<AITrackerData>(source,QueryOperator.Equal,users );


            foreach (var item in results)
            {

            }

可以使用它代替 In Operator,我对此进行了测试,并且输出正确,请任何人提出建议

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...