1

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"
                }

そして今、「ジム」が参加したすべてのレコードを取得したいと考えています。

このクエリを(coffeescriptで)試しましたが、結果が得られず、非常にくだらないと思います...

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

ネストされたドキュメントのクエリを理解するのに役立つことを願っています。ありがとう!

4

1 に答える 1

1

埋め込みオブジェクトのフィールドに対してクエリを実行するには、ドット表記を使用します。

query = { 'party.teams.players.name': 'jim' }
于 2013-04-11T12:41:02.333 に答える