2017-04-21 114 views
0

我有很多包含在集合中的歌曲,每个都包含_id和description,在描述中是一个元素数组,包括line和sub_fingerprint,我传递_id和line。如何检索subfingerprint?由于 我有一个蒙戈命令调用如何获取mongodb数组中的元素值

db.getCollection ('song_fingerprint'). Find ({_id: 1}, 
                  {Fingerprint: {$ elemMatch: {line: 102}}}) 

但在Java中是非常困难......

{ 
    "_id" : 13, 
    "fingerprint" : [ 
     { 
      "line" : 1, 
      "sub_finger" : "74076e76" 
     }, 
     { 
      "line" : 2, 
      "sub_finger" : "74076ef6" 
     }, 
     { 
      "line" : 3, 
      "sub_finger" : "74076ef6" 
     }, 
     { 
      "line" : 4, 
      "sub_finger" : "74056ef6" 
     }, 
     { 
      "line" : 5, 
      "sub_finger" : "76856ed6" 
     }, 
     { 
      "line" : 6, 
      "sub_finger" : "76e52ed6" 
     }, 
     { 
      "line" : 7, 
      "sub_finger" : "76e58cd6" 
     }] 
} 
+0

我认为这是你想要的http://stackoverflow.com/q/3985214/7420795 – user7420795

回答

0

我在本地测试了它的工作它以JSON返回相应的元素

db.getCollection('song_fingerprint').find({"fingerprint.line" : 2},{_id: 13, fingerprint: {$elemMatch: {line: "2"}}})