2017-06-13 2 views
1

Ich versuchte Feld aus dem Dokument in Mongo Terminal zu löschen, wie zum Beispiel:Wie lösche ich Felder von Mongodb (Mongo PHP)?

db.getCollection('objects').update({}, {$unset: {'value.speed':''}} , {multi: true}); 

Es funktioniert, aber wie dies in Mongo PHP (alte Version) zu schreiben.

Ich habe versucht:

$find = [ 
    'value' => ['$exists' => true] 
]; 

$update = []; 

$update['$unset']['value']['speed'] = null; 

$this->collection->update($find, $update, ['multiple' => true]); 

Antwort

1

Ihre $update Nutzung nicht korrekt ist. Probieren Sie etwas wie folgt aus:

$update = [ 
    '$unset' => [   
     'value.speed' => true 
    ] 
]; 

Siehe this oder this Post oder suchen Sie nach ähnlichen besser zu verstehen.

+0

Kann ich dynamisch Array wie: '$ update =;' [ '$ unset' => [ 'Wert'. $ Data [ "prefix"] => true ] .]? – Yahorow

+0

@ Yahorow, ja, das ist ein regulärer String-Wert nach allem –