MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Como procuro uma string em uma matriz de documentos do MongoDB e projeto o valor da matriz em uma operação de localização?


Isso com certeza parece um bug e é semelhante a SERVER-9028 .

Parece haver algumas soluções alternativas, pois ambas funcionam:
db.sandbox.find({array1: 'praxis a'}, {'array1.$': 1})

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

Ambos produzem saída de:
{
  "_id": ObjectId("5258620315b3beb195f855b8"),
  "array1": [
    "praxis a"
  ]
}