0

我有一个像这样的 mongo 文档结构:

{
    "competition_id" : 421,
    "matches" :
        [
            "m_id" : 1234,
            "players":
                [
                    {
                        "id" : 52165267,
                        "name" : "...",
                        "surname" : "...",
                        ..
                    }
                ],
            "date" : 2012-10-12,
            ...
        ]
}

我希望能够找到(返回)所有文档(对于给定的 $player_id),播放器不存在于“matches.players.id”的数组中。我尝试了 '$nin' 运算符,但没有成功。

谢谢

4

1 回答 1

1

首先在'matches'中用'{'替换你的'['

我尝试了您的示例文档,以下查询对我来说很好:

db.collection_name.find( {"matches.players.id":{'$nin':[5]}} )
于 2013-04-23T13:22:40.550 回答