Php 在mongoDB中查找文档

Php 在mongoDB中查找文档,php,mongodb,Php,Mongodb,我的mongo文档结构如下: { "competition_id" : 421, "matches" : [ "m_id" : 1234, "players": [ { "id" : 52165267, "name" : "...",

我的mongo文档结构如下:

{
    "competition_id" : 421,
    "matches" :
        [
            "m_id" : 1234,
            "players":
                [
                    {
                        "id" : 52165267,
                        "name" : "...",
                        "surname" : "...",
                        ..
                    }
                ],
            "date" : 2012-10-12,
            ...
        ]
}
我希望能够找到(返回)所有文档(对于给定的$player_id),该播放器不存在于“matches.players.id”的数组中。我尝试了“$nin”操作符,但没有成功


谢谢

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

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

db.collection_name.find( {"matches.players.id":{'$nin':[5]}} )

我怀疑使用运算符是不可能的。你必须编写javascript代码进行过滤。请展示你是如何尝试使用“$nin”的。