我的数据集在数据库中是完整的;但是我想在数据库中的每个文档上创建一个新字段。我想通过我的一些输入以及数据库中当前的其他字段来派生这个新字段:
即:
Document:
{
"_id":myId,
"city":"fooville",
"state":"bar"
}
然后我想遍历每个条目并添加如下内容:
Document:
{
"_id":myId,
"city":"fooville",
"state":"bar",
"cityState":"fooville, bar"
}
有没有简单的方法来做到这一点?尽量避免重新插入整个数据集。
预先感谢您的帮助
(Mongo 很棒)
最佳答案
像这样:
$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']))));
}
我还没有测试过....但它应该可以工作...
关于php - Mongo 更新当前数据,重用数据集中的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8244215/