Mongo更新当前数据,重用数据集中的字段

时间:2011-11-23 14:53:23

标签: php mongodb mongodb-php

我的数据集在数据库中已完成;但是我想在db中的每个文档上创建一个新字段。这个新字段我希望通过我的一些输入以及当前在数据库中的其他字段来派生:

IE:

Document: 
{ 
   "_id":myId,
   "city":"fooville",
   "state":"bar"
}

然后我想采取并遍历每个条目并添加如下内容:

Document:
{
   "_id":myId,
   "city":"fooville",
   "state":"bar",
   "cityState":"fooville, bar"
}

有一种简单的方法吗?试图避免重新插入整个数据集。

提前感谢您的帮助

(Mongo太棒了)

1 个答案:

答案 0 :(得分:2)

这样的事情:

$results = $collection->find();

// iterate through the results
foreach ($results as $results) 
{

    $collection->update(array("_id" => new MongoId($result['_id'])), 
                        array('$set' => array("cityState" => sprintf("%s, %s", $result['city'], $result['state']))));

}

我没有测试过它......但它应该有用......