MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Wie suche ich nach einer Zeichenfolge in einem MongoDB-Dokument-Array und projiziere den Array-Wert in einer Suchoperation?

Das sieht sicher nach einem Fehler aus und ähnelt SERVER-9028 .

Es scheint ein paar Problemumgehungen zu geben, da beide funktionieren:

db.sandbox.find({array1: 'praxis a'}, {'array1.$': 1})

ODER

db.sandbox.find({array1: {$in: [/praxis a/]}}, {'array1.$': 1})

Beide erzeugen eine Ausgabe von:

{
  "_id": ObjectId("5258620315b3beb195f855b8"),
  "array1": [
    "praxis a"
  ]
}