2017-09-15 52 views
0

尝试根据布尔ScanCondition扫描我的新数据库时,遇到了我认为是错误的问题。我有以下几种:使用ScanAsync的Amazon DynamoDB for Unity可能存在的问题

try{ 
    var search = context.ScanAsync<Card>(new ScanCondition("Contest",ScanOperator.Equal,false)); 
    search.GetRemainingAsync(result=>{ 
    if(result.Exception != null){ 
     //Handle Exception 
    }else{ 
     foreach(Card a in result.Result){ 
     print("RESULT: " + a.Name); 
    } 
    } 
}); 
} 

数据库有一张卡片TestCard,其值为Contest = false。但是,此ScanAsync不会返回TestCard。如果我将ScanOperator更改为ScanOperator.NotEqual,然后再次使用Contest = false扫描卡片,它将错误地返回卡片。显然,它不是在DynamoDB布尔值和C#布尔值之间进行转换。

有没有其他人遇到过这个bug?我的印象是,所有的基元都会自动翻译。

回答

0

DynamoDB表的“扫描”功能只会比较字符串,二进制文件和数字。在不同的基元类型上扫描不会引发错误,但也不会正确比较。