2011-08-16 5 views
0

'Insert'를 사용하면 전적으로 괜찮습니다.mongoDB 업데이트가 제대로 작동하지 않습니다.

PHP - MongoDB는 내가 원하는대로 삽입하지만 업데이트가 작동하지 않습니다.

"ip"및 "time"필드가없는 문서를 '삽입'한 직후.

'IP'필드가 완전히 잘 작동 - { 'IP': '127.0.0.1'} 어떻게 든

하지만 '시간'배열 필드가 이상하게 동작합니다.

{ '시간'{ '실시간': '2011-01-01 12시 0분 0초', 'mongotime'ISODate ("2011-01-01T00 : 00 : 00")}}

"시간"이 문서에 삽입되어야하며 괜찮을 것입니다.

그러나이 "시간"배열과 독립적 인 '실시간'인 '몽고메리'가 모두 문서에 삽입됩니다. 그 결과

, 나는

{ '시간'을 받고 있어요 : { '실시간': '2011-01-01 12시 0분 0초', 'mongotime을'ISODate ("2011-01-를 01 : 00 : 00 ")}, '실시간': '2011-01-01 12:00:00', '몽고 타임': ISODate ("2011-01-01T00 : 00 : 00 ")

I 왜 이런 일이 일어날 지 모르겠다 ...

이것은 매우 이상합니다.

$query = array('username'=>"$username"); 
$realtime = date("Y-m-d H:i:s"); 
$mongotime = new Mongodate(strtotime($realtime)); 
$set_item = array('ip'=>"$IP", 'time'=> array('realtime'=>"$realtime", 
     'mongotime'=> $mongotime)); 
$db->member->update($query, array('$set' => $set_item)); 

내가 잘못된 방법으로 MongoDB를 이해 마십시오하거나 부적절하게 행동 않습니다 여기

내 코드?

+0

이 사이트를 사용하여 코드 서식을 지정할 수 있음을 알았습니다. 제발. 질문을 편집하고 코드 인 부분을 강조 표시 한 다음 툴바에서 코드 버튼을 클릭하면됩니다. –

+0

하지만 여하튼 4 공백과 8 공백 들여 쓰기가 작동하지 않습니다. Nvm. 이제 작동합니다. – InspiredJW

답변

1

코드는 정상입니다.

코드를 개발했을 때 아마 두 번 테스트했고 잘못된 수정 자 문서로 문서를 업데이트했을 것입니다. 이제 쓰레기가 나옵니다.

그냥 깨끗한 문서로 테스트하십시오.

관련 문제