MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Mongo :rechercher un sous-document sans notation par points

Le problème est que :

db.test.find({field: {$someOperator: {subfield: /regex/}}})

Est en fait une autre façon d'interroger dans MongoDB qui utilise l'égalité des objets pour rechercher des sous-documents.

Donc non, vous devez utiliser la notation par points sauf si vous cherchiez où un objet est exactement égal à l'autre.

Cela étant dit, vous pouvez envelopper le document dans $elemMatch :http://docs.mongodb.org/manual/reference/operator/elemMatch / ça marcherait

Modifier

Considérant votre structure de collection $elemMatch ne fonctionnera pas réellement.