Допустим, у меня есть база данных с полем документа, содержащим следующее
new Test({fruits: [ 'apple', 'orange', 'banana']})
Я хочу запросить массив fruits другим массивом, убедившись, что переданный в запрос массив содержит все item в базе данных фруктов.
Обычным JavaScript Я бы сделал следующее:
var target = [ 'apple', 'orange', 'banana'];
var fruit2 = [ 'apple', 'orange', 'banana', 'peach']; // true
var fruit3 = [ 'mango', 'lemon', 'pineapple']; // false
var fruit4 = [ 'banana', 'apple', 'orange']; // true
const result = target.every(targetElem => fruit2.includes(targetElem));
console.log(result);
Я не могу использовать $in
, потому что он проходит через каждый элемент в массиве запросов убедившись, что все предметы существуют. В моем случае я не против, если запрашиваемый массив содержит дополнительные элементы, если он имеет те же элементы, что и массив в базе данных.