sql >> Database >  >> NoSQL >> MongoDB

Voorwaardelijk een veld (_id of ander) opnemen in mongodb-projectaggregatie?

Er is momenteel geen manier om dit te doen binnen het $project-stadium, maar u kunt het $redact-stadium gebruiken om het veld voorwaardelijk te verwijderen (d.w.z. u stelt de waarde in op 0 zoals u in uw voorbeeld doet.

db.collection.aggregate(
  ... matching and stuff ...
  {$project: { _id: { $ifNull: [ "$user_id", 0 ] } }},
  {$redact: {
  {$cond: {
    if: { $eq: [ "$user_id", 0 ] },
    then: '$$PRUNE',
    else: '$$DESCEND'
  }}
}


  1. gegevens lezen van specifieke knooppunten in mongo-replicaset

  2. mongodb kan geen transactie doen in Go en heeft altijd Kan geen naamruimte maken in transactie met meerdere documenten

  3. Hoe selecteer je een enkel veld voor alle documenten in een MongoDB-verzameling?

  4. MongoDB Spark Connector py4j.protocol.Py4JJavaError:er is een fout opgetreden bij het aanroepen van o50.load