dieses Dokument Angenommen:MongoDB ersetzen Wert bei der Aggregation
{
_id : Object(“12918”),
username : “username”,
password : “password”,
occupation: {
name : “Football”,
code : 254,
}
},
{
_id : Object(“12919”),
username : “username2”,
password : “password2”,
occupation: {
name : “Basketball”,
code : 255,
}
}
ich eine Abfrage möchten, die zurückgibt:
{
_id : Object(“12918”),
occupation : {
name : “*”,
code : 254
}
},
{
_id : Object(“12919”),
occupation : {
name : “*”,
code : 255
}
}
So eine Abfrage, die die Felder _id und Beruf nur zurückgibt. Und das Feld occupation.name muss durch * in allen Datensätzen ersetzt werden.
habe ich versucht, diese Anfrage:
aggregate([
{
"$project" :
{
"_id" : 1,
“occupation" : 1,
“occupation.name" : { $literal:“*” }
}
}
])
, die die folgende Ausnahme zurückgegeben:
{ "ok": 0, "errmsg": „kann nicht einen Ausdruck für das Feld hinzufügen Beruf, weil es bereits einen Ausdruck für dieses Feld oder eines seiner Unterfelder gibt. ", " code ": 16400 }
Gibt es einen Weg, dies zu erreichen?
Was ist Ihr Mongo Server-Version? – Veeram
Es ist Version 3.0.1 –