這個問題很類似地雷:Is there a way to check if one of the array entries contains a sub-array in MongoDB?
了一些更新。然而,在我,我仍然得到問題。 我通過聚合器獲取數據,該聚合器拉入標籤。 標籤看起來像這樣$tags = array("red","green","blue","purple",...);
而且我的更新查詢看起來是這樣的:
$criteria = array('_id' => new MongoId($myID));
$db->aggregation->update($criteria,
array('$addToSet' =>
array('tags' =>
array('$each' => $tags)))),
true); //add tags
不管你信不信,有時它的工作原理順順當當,但有時事實並非如此。 你可以在下面的例子中看到哪些工作,哪些沒有。
[74] => red
[75] => orange
[76] => yellow
[77] => green
[78] => Array (
[$each] => Array (
[0] => blue
[1] => indigo
[2] => purple
)
)
[79] => violet
[80] => brown
[81] => black
有人可以向我解釋爲什麼有時這會插入集合的數組,有時它不會? 我使用phpmoadmin(以及一個MongoDB shell版本2.4.3'find()')來查看插入的結果。