我有两个数组array_A
和array_B
,array_A
来自数据库,array_B
是用户从前端选择的值。因此,我必须在两个数组之间进行匹配和过滤,如果array_A
包含来自array_B
的一个或多个值,那么考虑为真,将采用db数据。我使用的是 MongoDB 。下面是我的代码:
var builder = Builders<Order>.Filter;
var filter = FilterDefinition<Order>.Empty;
//db data value may look like this
//db data 1) => selectedItems:["item_B","item_A","item_S"]
//db data 2) => selectedItems:["item_S","item_Z"]
//db data 3) => selectedItems:["item_C","item_D"]
//frontend value
string[] selectedItems = ["item_A","item_Z"];
filter = filter & builder.Where(c => c.selectedItems.Any(x => selectedItems.Contains(x)));
结果应采用data 1
和data 2
,因为data 3
的值与前端值不匹配,如果我错了,请纠正我。