sql >> Base de Datos >  >> NoSQL >> MongoDB

MongoDB:¿Cómo encontrar por ID de subdocumento?

En su documento:

"players": [
            {
                "player": { "$oid": "4" },
                "score": 500,
            },
            {
                "player": { "$oid": "5" },
                "score": 550,
            }
        ]

El player campo en la colección incrustada de players es un ID de BSON (es decir, se parece a ObjectId("4e208e070347a90001000008") ), así que creo que deberías estructurar tu consulta así:

db.games.find( { "teams.players.player": ObjectId("2") } )

Tenga en cuenta que he dejado caer el _id -- siempre que funcione en una consola mongo, entonces sospecho que la consulta Coffee será similar (suelte el _id parte).