0

Using TaffyDB(), I want to query out data while excluding values from a list.

I'm trying like this:

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

Using that, it correctly omits the 1st value (in this case STS) but not any proceeding values.

4

1 回答 1

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;
    });
于 2019-04-08T00:50:55.797 回答