Giả sử tôi có chèn một bộ tài liệu mỗi trường có trường array
. Tôi muốn tìm tất cả các tài liệu sao cho trường array
của họ là một tập hợp con của một mảng truy vấn. Ví dụ, nếu tôi có các tài liệu sau,Tìm tài liệu trong MongoDB có trường mảng là một tập hợp con của một mảng truy vấn
collection.insert([
{
'name': 'one',
'array': ['a', 'b', 'c']
},
{
'name': 'two',
'array': ['b', 'c', 'd']
},
{
'name': 'three',
'array': ['b', 'c']
}
])
và tôi truy vấn collection.find({'array': {'$superset': ['a', 'b', 'c']})
, tôi sẽ mong đợi để xem tài liệu one
và three
như ['a', 'b', 'c']
và ['b', 'c']
đều tập con của ['a', 'b', 'c']
. Nói cách khác, tôi muốn làm ngược lại truy vấn $all
của Mongo, chọn tất cả các tài liệu sao cho mảng truy vấn là một tập hợp con của trường array
của tài liệu. Điều này có thể không? và nếu có, làm thế nào?
Bạn cần thực hiện một số IMHO tổng hợp. –