Gibt es einen einfachen Weg, ein Array-Element an seiner Position zu finden. Wo Position in demselben Dokument als anderes Feld definiert ist.Ermittelt ein Array-Element nach Position, die in demselben Dokument definiert ist wie ein anderes Feld in mongoDB
Beispiel Dokument:
{
_id:"123",
"elementPosition": 3,
"users": [
{
"username": "abcd"
},
{
"username": "qweqw"
},
{
"username": "fdsfsd"
},
{
"username": "dsfvd"
}
]
}
Weitere, wenn es eine einfache Möglichkeit ist dann auch in effizienter Weise unter Betrieb zu tun:
- Updaate Dokument wo users.elementPosition.username = "ABCD" und updaten "users.elementPosition.username" = "wxyz"
*** elementPosition aus demselben Dokument.
Ich habe so viele Möglichkeiten ausprobiert. Einer von ihnen wurde get ElementPosition bekommen und dann prüfen, ob Dokumente mit dieser ElementPosition übereinstimmen oder nicht. Aber das ist dreckig und langwierig.
Versucht, ElementPosition als Variable in einer einzelnen Abfrage "user."+elementPosition+".username"
zu verwenden, hat aber nicht funktioniert.
Auch andere Art der Aggregatabfragen versucht, aber keine guten Ergebnisse erhalten. projizieren $elementPosition
auf die nächste Stufe und verwenden Sie das, um bestimmte Position Dokument abrufen, aber nicht bekommen, was ich will.
ein Grund für die Abstimmung unten die Frage? –