Ich versuche, ein Update auf meine Dokumente auszuführen, ich benutze upsert True, aber es immer noch überschreiben?MongoDB Upsert funktioniert nicht in PHP
$col = "A" . $user->agencyID;
$db = $m->rules;
$collection = $db->$col;
$validValue = $_POST['validValue'];
$id = $_POST['ruleID'];
$document = array(
'tags' => array(
$validValue
)
);
$collection->update(
array(
'_id' => new MongoId($id)
),
array('$set' => $document),
array('upsert'=>true)
);
$validValue
ist wie - Foo Bar
Der erste Wert in fein geht, aber wenn ich versuche, einen anderen Wert Hinzufügen überschreibt er die erste?
Was ist '$ id'? Wenn es sich um eine benutzerdefinierte Zeichenfolge handelt und nicht um ein Mongoid, brauchen Sie keine neue MongoId. – luckytaxi
@luckytaxi meine $ id ist das - 5704fd6eb23eec37168b4567 – Kieron606
Was wird überschrieben? Dein erster Wert ist "Foo Bar" und du aktualisierst ihn mit "Hello World". Was erwarten Sie? – luckytaxi