2017-07-29 2 views
0

Ich versuche, meinen Mongo-DB für alle Schlachten abzufragen, die ein Spieler gespielt hat. Ich wunderte mich über die Operation in Mungo. Ich kann es nicht zur Arbeit bringen.Mongoose abfragen - Alle Kämpfe finden, bei denen die ID des Opponents gleich oder die ID des Challengers gleich somed_id ist

Ich habe versucht, so etwas wie dieses:

var currentUser = req.params.player_id; 

Battle.find({}).populate({ 
      path: 'utfordrer motstander', 
      }).where('utfordrer.id').equals(currentUser).$or('motstander.id').equals(currentUser).exec(function (err, battle) { 
       if (err){ 
        console.log(err); 
       } 
       else { 
        console.log(battle); 
       } 
     }); 

Das ist mein Kampf Schema:

var battleSchema = new mongoose.Schema({ 
    utfordrer: { 
     id: {type: mongoose.Schema.Types.ObjectId, ref: "User"}, 
     username: String, 
     score: Number, 
     ferdig: Boolean 
    }, 
    motstander: { 
     id: {type: mongoose.Schema.Types.ObjectId, ref: "User"}, 
     username: String, 
     score: Number, 
     ferdig: Boolean 
    }, 
    spill: 
     { 
      id: {type: mongoose.Schema.Types.ObjectId, ref: "Game"}, 
      navn: String, 
      beskrivelse: String 
     }, 
    tidspunkt: Date 
}); 

Antwort

0
Battle.find({$or:[ {'utfordrer.id': currentUser}, {'motstander.id': currentUser}]}).exec(function (err, battle) { 
      if (err){ 
       console.log(err); 
      }else{ 
       console.log("===========UTFORDRINGER"); 
       console.log(battle.length); 
       res.render("Battles/index", {antallUtfordringer: antall, battleId: utfordringBattleId}); 
      } 
}); 
+0

Diese returened jeder Schlacht der Benutzer gespielt hatte! –

Verwandte Themen