Ich muss einen Wert von einem Array in ein anderes Array ziehen, aber es funktioniert nicht. Ich habe ein Dokument Firma:Wie wird ein Element in einem Array in ein anderes Array in MongoDB gezogen?
{
_id: String,
companyName: String,
address: String,
employees: [Employee],
...
}
Mitarbeiter:
{
idRegister: String,
employeeName: String,
markers: [Marker],
...
}
Marker:
{
tag: String
...
}
Also habe ich versucht, die Abfrage:
db.company.update(
{
$and:
[
{
_id: "8qmypja88nbuoedsi"
},
{
'employee.idRegister': "567.567"
}
]
},
{
$pull:
{
'employees.markers.tag':
{
$elemMach:
{
"ghj-5675"
}
}
}
}});
Aber ich habe den Fehler:
"writeError" : {
"code" : 2,
"errmsg" : "unknown top level operator: $elemMatch"
}
Wer weiß, wie kann ich einen bestimmten Tag ziehen? Ich habe andere Abfragen ohne $ elemMatch versucht, bevor ich hier schreibe, aber auch keinen Erfolg.
'db.company.update ({$ elemMatch: {$ eq: {'employees.idRegister': "567.567"}}}, {$ pull: {'employees.markers': {"tag": "ghj-5675"}}}) '' Mit diesem Befehl I habe diese Fehler: 'WriteResult ({ " nMatched ": 0, " nUpser ted“: 0, "nModified": 0, "Writeerror": { "code": 2, "errmsg": "unbekannt Top-Level-Operator: $ elemMatch" } }') –
ElemMatch wird verwendet in Projektion nicht aktualisiert ..... – profesor79