MongoDB PHP 드라이버를 통해 MongoDB에 데이터를 추가하고 있습니다.mongo PHP는 배열을 문자열로 변환합니다.
$ _POST의 배열은 일단 DB에 있으면 문자열로 전송됩니다.
$ _POST 내용 : (인 print_r로 인쇄 - 붙여 넣기에만 해당 배열
Array
(
...
...
[ingredients] => [{u'amount': u'1 (14 ounce) can', u'name': u'black beans, drained', u'short_name': u'black beans'}, {u'amount': u'1 (8 ounce) jar', u'name': u'salsa', u'short_name': u'salsa'}]
...
)
DB를 명령은 다음과 같습니다 몽고 쉘을 사용
$success = $collection->insert($_POST);
그리고 MongoDB의의 결과() 입니다 :
{ ....
"ingredients" : "[{u'amount': u'1 (14 ounce) can', u'name': u'black beans, drained',
u'short_name': u'black beans'}, {u'amount': u'1 (8 ounce) jar', u'name': u'salsa',
u'short_name': u'salsa'}]", ..... }
가 어떻게 배열로 보관하지
?편집 :
@ 살바도르 달리의 대답은 정확합니다. 하지만 나중에 참조 할 수있는 실제 문제는 배열 자체 (파이썬에서 urllib2에 의해 만들어진 POST 요청에서 나온 것임) u'string'
이 PHP의 json_decode에 실패했습니다. "string"
로 해결하면 문제가 해결됩니다.
mongo DB가 json으로 데이터를 반환합니다. 'json_decode ($ data, true);를 사용하여 PHP 수준의 데이터를 변환해야합니다. 그러면 배열이 생깁니다. –
나는 이것을 몽고 껍질에서 묻고있다. 나는이 경우 사실이 아니라고 생각한다. ... – Boaz
@AbhikChakraborty 틀렸다. 그는 껍질에서 이것을하고 있는데, 이는 그가 물건을 본다는 것을 의미합니다. –