좋아요. MongoDB를 백엔드로 사용하여 블로그 시스템을 만들고 있습니다. 나는 그것을 편집 할 때 이전 버전을 저장하고 필요할 경우 되돌릴 수 있도록 Wordpress와 동일한 작업을 수행하려고합니다.PHP - MongoDB 배열을 부분 배열로 이동
나는 이것을하고 싶다.
몇 가지 방법이 있습니다. 그러나 이것이 최선의 쉬운 방법인지와 몇 가지 제안을하고 싶지 않은지 확실하지 않습니다.
첫 번째
<?php
$cursor = $collection->find(array("_id"=> new MongoId($data)));
if ($cursor->count() > 0)
{
while($cursor->hasNext()) {
foreach($cursor->getNext() as $key => $value)
{
define("_".strtoupper($key), $value);
}
}
$cursor = $collection->update(array("_id" => new MongoId($data)),
'$set'=>array("title"=>$data['TITLE'], "content"=>$data['content'], "past_versons"=>array("title" => _TITLE, "content" => _CONTENT)));
}
?>
그래서 내 질문에 내가 그것을 할 것이라고이 방법입니다 발견 및 삽입 $의 SET입니다. 당신은 기껏해야 하나 개의 문서 작업을 기대에도 불구하고 여기에 샘플 JSON 당신의 예에서
{
"title":"blog title",
"content":"blog content",
"past_verson":[{"title":"blog title past","content":"past blog content"}]
}
그 덕분 들면, 는 모든 것을 저장 것이라고 $ document 영역에 있었다. – RussellHarrower
예, 배열 값을'past_versions' 배열로 푸시합니다. – jmikola