1

私はMongoDBにこのスキーマを持っており、チームとプレーヤーの間には多対多の関係があります。

チーム:

{
    name: "Team1"
    players: ["1", "2"]
}
{
    name: "Team2"
    players: ["1"]
}

プレーヤー:

{ id: "1", name: "Player1"}
{ id: "2", name:"Player2"}
{ id: "3", name:"Player3"}

どのチームにも属していないすべての選手に質問したいと思います。これを解決するための最良のアプローチは何ですか?

4

1 に答える 1

1

あなたは2つのステップでそれをする必要があります。シェル内:

// Find all the player ids that are part of teams
var ids = db.teams.distinct('players')

// Find all the players with ids not in that set.
db.players.find({id: {$nin: ids}})

戻り値:

{ "_id": ObjectId("5137947e0f26e0cc03fc3735"), "id": "3", "name": "Player3" }
于 2013-03-06T19:14:17.403 に答える