Mongodb: Requête json-objet imbriqué dans un tableau
Je suis assez nouveau pour mongodb et il y a une chose que je ne peux pas résoudre dès maintenant:
Imaginons, vous avez le document suivant (simplifié):
{
'someKey': 'someValue',
'array' : [
{'name' : 'test1',
'value': 'value1'
},
{'name' : 'test2',
'value': 'value2'
}
]
}
La requête serait de retour json-objet, dont la valeur est égale à 'valeur2'?
Que cela signifie, j'ai besoin de cette json-objet:
{
'name' : 'test2',
'value': 'value2'
}
Bien sûr, j'ai déjà essayé beaucoup de requêtes, mais aucun d'entre eux retournés le droit, par exemple,
db.test.find({'array.value':'value2'})
db.test.find({'array.value':'value2'}, {'array.value':1})
db.test.find({'array.value':'value2'}, {'array.value':'value2'})
Quelqu'un peut-il aider et me montrer, ce que je fais mal?
Merci!
Vous devez vous connecter pour publier un commentaire.
Utilisant l'opérateur de Position
Sortie
À l'aide de l'agrégation
sortie
À L'Aide De Java Pilote
sortie
Essayez de dollars en exploitant comme ceci:
db.test.find({"array.value" : { $in : ["value2"]}})
Vous pouvez passer plusieurs trouver des objets dans l'élément de match pour l'obtention de la réponse exacte.
Utilisation $elemMatch et un point(.) pour obtenir votre sortie