6
votes

Java Mongodb Obtention de la valeur pour le sous-documentation

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
    }
}


2 commentaires

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é.


4 Réponses :


11
votes

Vous devez d'abord obtenir l'objet "Rapport", puis accéder à son contenu. Vous pouvez voir le code exemple dans ci-dessous. XXX


1 commentaires

Va essayer cela. Merci beaucoup.



2
votes

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") 


1 commentaires

C'est la même chose que j'ai écrit.Instead de deux lignes, ils ont écrit une requête en ligne unique.



1
votes

Vous pouvez essayer cela, cela a fonctionné pour moi

basicdbobject requier = nouveau basicdbobject ("rapport.name", "une valeur");


1 commentaires

Pour interrogé les champs dans les sous-documents, l'utilisation de cette notation de points fonctionnait parfaitement pour moi. Merci.



2
votes

Vous pouvez également utiliser des requêtes, comme dans le cas de Mongotemplate, etc. XXX


0 commentaires