Załóżmy, że mam włożenie zestawu dokumentów, każdy z polem array
. Chciałbym znaleźć wszystkie dokumenty w taki sposób, że ich pole array
jest podzbiorem tablicy zapytań. Na przykład, jeśli mam następujące dokumenty,Znajdź dokumenty w MongoDB, którego pole tablicy jest podzbiorem tablicy zapytań
collection.insert([
{
'name': 'one',
'array': ['a', 'b', 'c']
},
{
'name': 'two',
'array': ['b', 'c', 'd']
},
{
'name': 'three',
'array': ['b', 'c']
}
])
i kwerendy collection.find({'array': {'$superset': ['a', 'b', 'c']})
, spodziewałbym się zobaczyć dokumenty i three
one
jak ['a', 'b', 'c']
i ['b', 'c']
są zarówno podzbiory ['a', 'b', 'c']
. Innymi słowy, chciałbym wykonać odwrotność zapytania Mongo, które wybiera wszystkie dokumenty w taki sposób, że tablica zapytań jest podzestawem pola array
dokumentu. czy to możliwe? a jeśli tak, to w jaki sposób?
Musisz wykonać kilka agregacji IMHO. –