2016-06-23 47 views
2

如何從使用Spring的MongoDB中嵌入數組的內部文檔檢索數據?從嵌入在數組中的內部文檔中檢索數據

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

通過'使用Spring',你的意思MongoTemplate? –

+0

是的。我想檢索name =「HpAlm」的數據 – Art

回答

0

使用MongoDB的db.collection.find()方法,下面的查詢將返回在sourcevo數組包含的元素,其字段等於「HpAlm」的所有文檔。

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

在MongoTemplate,查詢看起來應該像下面這樣:

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