J'essaie d'obtenir la valeur d'une clé à partir d'un sous-document et je n'arrive pas à comprendre comment utiliser la fonction de basedbobject.get () car la touche est incorporée deux niveaux profonds. Voici la structure du document
File { name: file_1 report: { name: report_1, group: RnD } }
4 Réponses :
Vous devez d'abord obtenir l'objet "Rapport", puis accéder à son contenu. Vous pouvez voir le code exemple dans ci-dessous.
Va essayer cela. Merci beaucoup.
J'ai trouvé une deuxième façon de le faire, sur un autre message (n'a pas enregistré le lien sinon, sinon j'aurais inclus cela).
(BasicDBObject)(query.get("report")).getString("name")
C'est la même chose que j'ai écrit.Instead de deux lignes, ils ont écrit une requête en ligne unique.
Vous pouvez essayer cela, cela a fonctionné pour moi p>
basicdbobject requier = nouveau basicdbobject ("rapport.name", "une valeur"); code> p>
Pour interrogé les champs dans les sous-documents, l'utilisation de cette notation de points fonctionnait parfaitement pour moi. Merci.
Vous pouvez également utiliser des requêtes, comme dans le cas de Mongotemplate, etc.
Quand vous dites que cela n'a pas fonctionné ce qui s'est passé réellement?
Quand il n'a pas fonctionné, cela n'a rien retourné.