【问题标题】:find documents in mongoDB在 mongoDB 中查找文档
【发布时间】:2013-04-23 21:33:22
【问题描述】:

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

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

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

谢谢

【问题讨论】:

  • 我怀疑运营商是否可行。您必须编写用于过滤的 javascript 代码。
  • 请展示您是如何尝试使用“$nin”的。

标签: php mongodb


【解决方案1】:

首先在“匹配”中将“[”替换为“{”

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

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

【讨论】:

    猜你喜欢
    • 2021-07-25
    • 2016-08-25
    • 2016-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-01
    • 2018-09-24
    • 1970-01-01
    相关资源
    最近更新 更多