2016-06-23 1 views
2

Comment récupérer des données du document interne incorporé dans un tableau dans MongoDB en utilisant Spring?Récupération des données du document interne incorporé dans le tableau

{ 
    "project" : "proj001", 
    "sourcevo" : [ 
     { 
      "name" : "HpAlm", 
      "type" : "database", 
      "source" : "mysql", 
      "toolvo" : { 
       "url" : "https://123.com", 
       "userName" : "123user", 
       "password" : "password" 
      }, 
      "dbvo" : { 
       "servername" : "", 
       "userName" : "", 
       "password" : "" 
      } 
     } 
    ] 
} 
+0

Par 'l'aide Spring', avez-vous dire MongoTemplate? –

+0

oui. Je veux récupérer les données pour name = "HpAlm" – Art

Répondre

0

En utilisant la méthode MongoDB db.collection.find(), la requête serait en dessous de retourner tous les documents où le sourcevo tableau contient un élément dont le nom champ est égal à « HpAlm ».

db.collection.find("{ sourcevo.name : { $eq : 'HpAlm' } }"); 

Dans MongoTemplate, la requête doit ressembler à quelque chose comme ce qui suit:

BasicQuery myQuery = new BasicQuery("{ sourcevo.name : { $eq : 'HpAlm' } }"); 
List<Document> docsList = mongoOperation.find(myQuery, Document.class);