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

MongoDB:Bedingte Auswahl aus einer Sammlung basierend auf einer anderen Sammlung

Sie können die folgende Aggregationsabfrage versuchen.

db.animals.aggregate([ [
  {
    "$lookup": {
      "from": "meals",
      "localField": "lastMeal",
      "foreignField": "id",
      "as": "last_meal"
    }
  },
  {
    "$unwind": "$last_meal"
  },
  {
    "$match": {
      "last_meal.created": {
        "$gt": 20171001
      }
    }
  }
])

Weitere Informationen hier .

Sie können $project verwenden mit Ausschluss nach $match Phase, um die Antwort so zu formatieren, dass verbundene Felder ausgeschlossen werden. Etwas wie { $project: {"last_meal":0} }