кодесурса
«MongoDB

MongoDB Оператор совокупного набора - $ setIntersection

script1adsense2code
script1adsense3code

MongoDB: $ setIntersection

Операторы MongoDB $ setIntersection принимают два или более массивов и возвращают набор массивов с элементами, которые появляются во всех входных наборах.

Синтаксис:

 {$ setIntersection: [<array1>, <array2>, ...]}
  • Оператор $ setIntersection может выполнять операции над множествами только для массивов и обрабатываться как множества. Если какое-либо дублирующее значение содержится в массиве, оно игнорируется оператором $ setIntersection. Порядок элементов не важен в этой операции.
  • В результате после фильтрации повторяющихся значений в операции в результате появляется только уникальное значение в массиве.
  • Когда набор содержит вложенный элемент массива, $ setIntersection не опускается во вложенный массив, а оценивает массив на верхнем уровне.

Коллекция образцов test_collection

{ "_id" : 1, "A" : [ "cat", "rat" ], "B" : [ "cat", "rat" ] }
{ "_id" : 2, "A" : [ "cat", "rat" ], "B" : [ ] }
{ "_id" : 3, "A" : [ ], "B" : [ "cat" ] }
{ "_id" : 4, "A" : [ "cat", "rat" ], "B" : [ "rat", "cat", "rat" ] }
{ "_id" : 5, "A" : [ "cat", "rat" ], "B" : [ "cat", "rat", "dog" ] }
{ "_id" : 6, "A" : [ "cat", "rat" ], "B" : [ [ "cat", "rat" ] ] }
{ "_id" : 7, "A" : [ "cat", "rat" ], "B" : [ [ "cat" ], [ "rat" ] ] }
{ "_id" : 8, "A" : [ ], "B" : [ ] }
{ "_id" : 9, "A" : [ "cat", "rat" ], "B" : [ "dog", "cat" ] }
}

Пример: $ setIntersection

В следующей операции агрегирования используется оператор $ setIntersection, который сравнивает массив A, а B возвращает набор массивов, который содержит общие элементы массива.

> db.test_collection.aggregate(
...    [
...      { $project: { A: 1, B: 1, commonToBoth: { $setIntersection: [ "$A", "$B" ] }, _id: 0 } }
...    ]
... );

После операции следующий результат будет возвращен оператором $ setIntersection.

> db.test_collection.aggregate(
...    [
...      { $project: { A: 1, B: 1, commonToBoth: { $setIntersection: [ "$A", "$B" ] }, _id: 0 } }
...    ]
... );
{ "A" : [ "cat", "rat" ], "B" : [ "cat", "rat" ], "commonToBoth" : [ "cat", "rat" ] }
{ "A" : [ "cat", "rat" ], "B" : [ ], "commonToBoth" : [ ] }
{ "A" : [ ], "B" : [ "cat" ], "commonToBoth" : [ ] }
{ "A" : [ "cat", "rat" ], "B" : [ "rat", "cat", "rat" ], "commonToBoth" : [ "cat", "rat" ] }
{ "A" : [ "cat", "rat" ], "B" : [ "cat", "rat", "dog" ], "commonToBoth" : [ "cat", "rat" ] }
{ "A" : [ "cat", "rat" ], "B" : [ [ "cat", "rat" ] ], "commonToBoth" : [ ] }
{ "A" : [ "cat", "rat" ], "B" : [ [ "cat" ], [ "rat" ] ], "commonToBoth" : [ ] }
{ "A" : [ ], "B" : [ ], "commonToBoth" : [ ] }
{ "A" : [ "cat", "rat" ], "B" : [ "dog", "cat" ], "commonToBoth" : [ "cat" ] }

Предыдущая: $ out
Далее: $ setUnion

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code