Azure Node.js SDK を使用していますが、次のクエリを実行するのに問題があります。
var ts1 = azure.createTableService(config.storageAccount, config.storageAccessKey, config.tableHost);
var query = azure.TableQuery
.select()
.from('users')
.where('PartitionKey eq ?', '0')
.and('FriendsSeeVideo eq ?', 'true')
.and('Status eq ?', 'Active');
var firstTimeThrough = true;
for (f in friends){
if (firstTimeThrough){
query.and('UserID eq ?', friends[f].id);
firstTimeThrough = false;
}
else query.or('UserID eq ?', friends[f].id);
}
画面にクエリを書き込むと、次のような Azure テーブル クエリが表示されます。
query = {"_fields":[],"_from":"users","_where":["PartitionKey eq '0'"," and FriendsSeeVideo eq 'true'"," and Status eq 'Active'"," and UserID eq '763424639'"," or UserID eq '1385552681'"," or UserID eq '100001386550915'"," or UserID eq '100001869159941'"],"_top":null,"_partitionKey":null,"_nextPartitionKey":null,"_rowKey":null,"_nextRowKey":null}
しかし、それは私が期待する結果を返していません。テーブル ストレージの条件を満たすユーザーが 1 人いて、結果として userID 763424639 のユーザーが返されるはずですが、そうではありませんか?
基本的に、私は友人セットを渡し、これらの人々がusersテーブルに存在するかどうかをテーブルストレージに尋ね、FriendsSeeVideo設定が有効になっている場合はそれらを返すようにしています。
誰かが私が間違っていることを見ることができますか?