使用TaffyDB(),我想查询数据,同时从列表中排除值。
我正在尝试这样:
var ret=clientDB( {"xuserID":{ "!is":["STS","EIAI"] } } ).get();
使用它,它会正确省略第一个值(在本例中为STS),但不会省略任何后续值。
答案 0 :(得分:1)
我不知道这样做的方法。
从技术上说,这不是您问题的答案,但一种可能的选择是返回非“ STS” AND
而不是“ EIAI”的任何内容。
var ret=clientDB
(
{xuserID:{"!is":"STS"}},
{xuserID:{"!is":"EIAI"}}
).get();
可能值得注意的是,根据您需要的数据表示方式,TAFFYDB的get()
方法将找到的记录作为数组返回,因此您可以只搜索不需要的记录,然后然后像这样相互过滤两个数组。
var entire_as_array = clientDB().get();
var unwanted_portion_as_array = clientDB({xuserID:["STS","EIAI"]}).get();
var concat_array = entire_as_array.concat(unwanted_portion_as_array);
var difference = concat_array.filter(function(i){
return entire_as_array.indexOf(i) < 0 || unwanted_portion_as_array.indexOf(i) < 0;
});