查询嵌套在mongoDB中

时间:2013-04-11 12:26:06

标签: mongodb mongodb-query

我正在学习MongoDB几周,我仍然不知道如何在我的项目中查询嵌套文档。我阅读了MongoDB-docs并搜索了很多内容,但是我发现没有很好的解释或教程来解决我的问题。也许你可以帮助我!

我有一个具有以下结构的集合(这里是JSON输出):

{
    community: "1",
    date: 1365680790125,
    isIndoor: "true",
    party: {
        teams: [
            {
                isWinner: true,
                players: [
                    {
                        name: "jim",
                        hits: 4,
                        isFinisher: true
                        },
                        {
                            name: "john",
                            hits: 6,
                            isFinisher: false
                        }
                    ]
                    },
                    {
                        isWinner: false,
                        players: [
                            {
                                name: "mike",
                                hits: 6,
                                isFinisher: false
                                },
                                {
                                    name: "moe",
                                    hits: 3,
                                    isFinisher: false
                                }
                            ]
                        }
                    ]
                    },
                    id: "3141be7f9988d872"
                }

现在我想得到'jim'参与的所有记录。

我尝试了这个查询(在coffeescript中),但我没有得到任何结果,我觉得它非常糟糕......

query = party:
$all:[
    teams: 
        $in: [
            player: [
                name: 'jim'
            ]
        ]
    ]

我希望你能帮我理解查询嵌套文档。 谢谢!

1 个答案:

答案 0 :(得分:1)

使用dot notation查询嵌入对象的字段:

query = { 'party.teams.players.name': 'jim' }