ich in diesem Szenario bin jetzt: Ich habe eine Sammlung X:Convert ObjectID zu String in Mongo Aggregation
{
_id:ObjectId('56edbb4d5f084a51131dd4c6'),
userRef:ObjectId('56edbb4d5f084a51131dd4c6'),
serialNumber:'A123123',
...
}
Ich brauche alle Dokumente zu aggregieren, so dass sie durch die userRef + serial Gruppierung, so dass ich ist versucht, wie diese zu verwenden concat:
$group: {
_id: {
'$concat': ['$userRef','-','$serialNumber']
},
...
Also im Grunde in meiner Aggregation in MongoDB, ich brauche durch die Verkettung eines ObjectId zu Gruppendokumenten und ein String. Es scheint jedoch, dass nur $ Concat Strings als Parameter akzeptiert:
uncaught exception: aggregate failed: {
"errmsg" : "exception: $concat only supports strings, not OID",
"code" : 16702,
"ok" : 0
}
Gibt es eine Möglichkeit, eine ObjectId in einen String innerhalb eines Aggregations Ausdrucks zu konvertieren?
EDIT:
Diese question bezieht, aber ich die Lösung nicht mein Problem passt. (Speziell, weil ich während der Aggregation ObjectId.toString() nicht verwenden kann)
Tatsächlich konnte ich keine ObjectId(). ToString() Operation in Mongos Dokumentation finden, aber ich frage mich, ob es eine knifflige Sache gibt, die kann in diesem Fall gemacht werden.
Vielleicht '_id: [$ userRef, $ serialNumber]' funktioniert? Es wird dir keine Zeichenfolge geben. –