【发布时间】:2013-07-25 22:11:30
【问题描述】:
这个问题和我的很相似: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()')来查看插入的结果。
【问题讨论】:
标签: mongodb mongodb-php