使用TaffyDB(),我想查询出数据,同时排除列表中的值。
我试着这样做:
var ret=clientDB( {"xuserID":{ "!is":["STS","EIAI"] } } ).get();
使用它,它会正确地省略第一个值(在本例中是STS),但不会忽略任何后续值。
发布于 2019-04-08 08:50:56
我不知道有什么方法可以做到这一点。
虽然从技术上讲不是您问题的答案,但一种可能的替代方案是返回任何不是"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;
});
https://stackoverflow.com/questions/52840667
复制相似问题