taffyDB查询“不在”集

时间:2018-10-16 17:08:56

标签: jquery taffydb

使用TaffyDB(),我想查询数据,同时从列表中排除值。

我正在尝试这样:

var ret=clientDB( {"xuserID":{ "!is":["STS","EIAI"] } } ).get();

使用它,它会正确省略第一个值(在本例中为STS),但不会省略任何后续值。

1 个答案:

答案 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;
    });