MongoDb: Найти общий элемент из двух массивов в запросе

Допустим, у нас есть записи следующей структуры в базе данных.

{
  "_id": 1234,
  "tags" : [ "t1", "t2", "t3" ]
}

Теперь я хочу проверить, содержит ли база данных запись с любым из тегов, указанных в массиве.tagsArray which is [ "t3", "t4", "t5" ]

Я знаю о$in оператор, но я не только хочу знать, имеет ли какая-либо из записей в базе данных какой-либо из тегов, указанных в tagsArray, я также хочу знать, какой тег записи в базе данных соответствует любому из тегов, указанных в tagsArray. (т. е. в случае вышеупомянутой записи)

То есть я хочу сравнить два массива (один из записей и другой, данный мной) и выяснить общий элемент.

Мне нужно иметь это выражение вместе со многими выражениями в запросе, чтобы такие проекционные операторы, как $, $ elematch и т. Д., Не принесли особой пользы. (Или есть способ, которым его можно использовать без перебора всех записей?)

Я думаю, что я могу использовать$where оператор, но я не думаю, что это лучший способ сделать это. Как можно решить эту проблему?

Ответы на вопрос(1)

Ваш ответ на вопрос