PHP中的MongoDB - 如何将项目插入集合中的数组?
Posted
技术标签:
【中文标题】PHP中的MongoDB - 如何将项目插入集合中的数组?【英文标题】:MongoDB in PHP - How do I insert items into an array in a collection? 【发布时间】:2011-07-19 06:15:25 【问题描述】:这一定很简单,但我似乎无法弄清楚...假设我有一个集合users
,这是集合中的第一项:
"_id" : ObjectId("4d8653c027d02a6437bc89ca"),
"name" : "Oscar Godson",
"email" : "oscargodson@xxx.com",
"password" : "xxxxxx",
"tasks" : [
"task" : "pick up stuff",
"comment" : "the one stuff over there"
,
"task" : "do more stuff",
"comment" : "lots and lots of stuff"
]
然后我将如何使用 MongoDB 的 php 驱动程序将另一个“任务”添加到集合中此项的“任务”数组中
【问题讨论】:
【参考方案1】:使用Mongo的$push
操作:
$new_task = array(
"task" => "do even more stuff",
"comment" => "this is the new task added"
);
$collection->update(
array("_id" => ObjectId("4d8653c027d02a6437bc89ca")),
array('$push' => array("tasks" => $new_task))
);
【讨论】:
正是我想要的!谢谢。 问题应该是......如何将项目添加到现有文档的数组中?插入带有数组的文档不是用 $push 完成的,因为 $push 是一个更新操作符。你知道新版本的 php MongoDB API 是如何做到这一点的吗?以上是关于PHP中的MongoDB - 如何将项目插入集合中的数组?的主要内容,如果未能解决你的问题,请参考以下文章
mongodb 如何把从一个集合中的查询结果 插入到一个新的集合