MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come posso cercare una stringa in un array di documenti MongoDB e proiettare il valore dell'array in un'operazione di ricerca?

Questo sembra sicuramente un bug ed è simile a SERVER-9028 .

Sembra che ci siano un paio di soluzioni alternative, poiché funzionano entrambe:

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

O

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

Entrambi producono output di:

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