MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDB:Wie finde ich anhand der Unterdokument-ID?

In Ihrem Dokument:

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

Der player Feld in der eingebetteten Sammlung von players ist eine BSON-ID (d. h. sie sieht etwa so aus wie ObjectId("4e208e070347a90001000008") ), also denke ich, dass Sie Ihre Abfrage so strukturieren sollten:

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

Beachten Sie, dass ich die _id gelöscht habe - vorausgesetzt, das funktioniert in einer Mongo-Konsole, dann vermute ich, dass die Coffee-Abfrage ähnlich sein wird (löschen Sie die _id Portion).