запрос taffyDB для набора «не в» - PullRequest
0 голосов
/ 16 октября 2018

Используя TaffyDB (), я хочу запрашивать данные, исключая значения из списка.

Я пытаюсь так:

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

Используя это, он правильно пропускает1-е значение (в данном случае STS), но не любые исходящие значения.

1 Ответ

0 голосов
/ 08 апреля 2019

Я не знаю, как это сделать.

Хотя технически это не является ответом на ваш вопрос, одной из возможных альтернатив будет возвращение всего, что не является "STS" AND не "EIAI".

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

Возможно, стоит отметить, что в зависимости от того, как вам нужны представленные данные, метод get() TAFFYDB возвращает найденные записи в виде массива, так что вы можете просто искать записи, которые вам известны.не хочу, а затем фильтровать два массива друг против друга, как это.

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;
    });
...