MongoDb: Findet ein gemeinsames Element aus zwei Arrays innerhalb einer Abfrage

Angenommen, wir haben Datensätze mit der folgenden Struktur in der Datenbank.

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

Jetzt möchte ich überprüfen, ob die Datenbank einen Datensatz mit einem der im Array angegebenen Tags enthälttagsArray which is [ "t3", "t4", "t5" ]

ich weiss Bescheid$in Operator, aber ich möchte nicht nur wissen, ob einer der Datensätze in der Datenbank ein in tagsArray angegebenes Tag enthält, sondern auch, welches Tag des Datensatzes in der Datenbank mit einem der in tagsArray angegebenen Tags übereinstimmt. (d. h. t3 in für den Fall der oben erwähnten Aufzeichnung)

Das heißt, ich möchte zwei Arrays (eines der von mir angegebenen und eines der von mir angegebenen) vergleichen und das gemeinsame Element herausfinden.

Ich brauche diesen Ausdruck zusammen mit vielen Ausdrücken in der Abfrage, damit Projektionsoperatoren wie $, $ elematch usw. nicht viel nützen. (Oder gibt es eine Möglichkeit, wie es verwendet werden kann, ohne alle Datensätze durchlaufen zu müssen?)

Ich denke ich kann es gebrauchen$where Betreiber, aber ich glaube nicht, dass dies der beste Weg ist, dies zu tun. Wie kann dieses Problem gelöst werden?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage