Mongo Обновление текущих данных, повторное использование полей в наборе данных - PullRequest
2 голосов
/ 23 ноября 2011

Мой набор данных завершен в БД; однако я хочу создать новое поле для каждого из документов в БД. Это новое поле, которое я хочу получить из некоторых моих входных данных вместе с другими полями, которые в данный момент находятся в базе данных:

IE:

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

Затем я хочу взять и пройтись по каждой записи и добавить что-то вроде этого:

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

Есть ли простой способ сделать это? Попытка избежать повторной вставки всего набора данных.

Заранее благодарю за помощь

(Монго потрясающий)

1 Ответ

2 голосов
/ 23 ноября 2011

Примерно так:

$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']))));

}

Я не проверял .... но он должен работать ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...