在MongoDB文档中搜索嵌套数组

时间:2012-01-18 09:07:11

标签: codeigniter mongodb

我正在使用Codeigniter和MongoDB开发一个Web应用程序。用户可以将收藏夹声音保存为“书签”。每个用户获得一个文档,然后将每个声音附加到该文档中名为声音的数组中。每个声音都有一组标签,也保存在书签中。如何在书签文档中搜索用户书签?我希望他们能够通过标签(来自标签数组)进行搜索。

这是我的MongoDB文档:

{
    "_id": ObjectId("4f15846a112bf6b725000000"),
    "owner": {
        "user_id": ObjectId("4f147e1709ab662061000000"),
        "session_id": "3424e3155a01e78c50a8498f78cc51d9"
    },
    "sound_files": [
        {
            "sound_id": ObjectId("4f1480ff09ab661a61000001"),
            "sound_url": "http://s3.amazonaws.com/4c/864ea8e92e6ec4408e248cc9brf008bd/18.wav",
            "sound_tags": [
                "sound",
                "new york",
                "cool"
            ]
        },
                {
            "sound_id": ObjectId("4f1480ff09ab661a61000001"),
            "sound_url": "http://s3.amazonaws.com/4c/864ea8e92e6ec4408e248cc9brf008bd/12.wav",
            "sound_tags": [
                "sound",
                "happy",
                "ocean"
            ]
        }
    ],
    "total": 1
}

1 个答案:

答案 0 :(得分:1)

db.col.find({'sound_files.sound_tags':"sound"})
编辑:不完全是OP正在寻找的东西。等待更准确的要求描述。