如何获取mongodb数组中的元素值

时间:2017-04-21 05:03:57

标签: java arrays mongodb mongodb-java

我有很多歌曲包含在一个集合中,每个歌曲都包含_id和description,在描述中是一个元素数组,包括line和sub_fingerprint,我传递_id和line。如何检索subfingerprint?谢谢 我有一个名为

的mongo命令
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"
        }]
}

1 个答案:

答案 0 :(得分:0)

我已经在我的本地测试了它正在返回json中的相应元素

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