mongodb에서 숫자 필드 이름을 사용할 수 있는지 알려주십시오 : { "1": 'value1', '2': 'value2', ' 3 ": 55}. mongodb 명령 줄을 사용하여 이러한 데이터를 입력 할 수있는 것처럼 보이지만 PHP를 사용하여 이러한 데이터를 쓰려고 할 때 문제가 발생합니다. 메시지 : 필드 이름은 문자열 오류 여야합니다.MongoDB PHP 드라이버에서 숫자 필드 이름 사용하기
mongodb에있는 모음의 이름은 http://www.mongodb.org/display/DOCS/Collections이지만 필드 이름의 이름 지정에 대한 정보는 찾지 못했습니다. 감사합니다.
나는 PHP에서 배열이 하나의 시도 :
$elements[1] = 1;
$index = "2";
settype($index, "string");
$elements[$index] = 2;
$elements["3"] = 3;
var_dump($elements);
을 그리고 표시
array
1 => int 1
2 => int 2
3 => int 3
내가 얘기 오류입니다 :
오류가 응용 프로그램 오류 예외 발생 정보 :
나는 "1"과 같은 필드 뭔가를 설정 cursuro MongoDB를 얻을 때
#0 C:\library\Shanty\Mongo\Collection.php(376): MongoCollection->find(Array, Array)
#1 C:\git_reps\mailable\application\models\Subscriber1.php(191): Shanty_Mongo_Collection::all(Array, Array)
#2 C:\git_reps\mailable\application\models\Subscriber1.php(203): Model_Subscriber1::getCursor(Array, Array, Array)
#3 C:\git_reps\mailable\application\controllers\ListsController.php(639): Model_Subscriber1::getPaginator(Array, Array, Array)
#4 C:\library\Zend\Controller\Action.php(513): ListsController->view1Action()
#5 C:\library\Zend\Controller\Dispatcher\Standard.php(295): Zend_Controller_Action->dispatch('view1Action')
#6 C:\library\Zend\Controller\Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
#7 C:\library\Zend\Application\Bootstrap\Bootstrap.php(97): Zend_Controller_Front->dispatch()
#8 C:\library\Zend\Application.php(366): Zend_Application_Bootstrap_Bootstrap->run()
#9 C:\git_reps\mailable\public\index.php(25): Zend_Application->run()
#10 {main}
Request Parameters:
array (
'controller' => 'lists',
'action' => 'view1',
'module' => 'default',
'id' => '52',
)
그런 일이 : 메시지 : 필드 이름은 문자열을 스택 추적을해야합니다.
Zend Framework에서 작동하는 Shanty 라이브러리를 사용하려고합니다. $ cursor = static :: getMongoCollection (false) -> find ($ query, $ fields); in mongodb에서 데이터를 읽으려고 시도하는 메소드. – Oleg
교체했습니다 : \t $ cursor = static :: getMongoCollection (false) -> find ($ query, $ fields); \t \t Shanty 라이브러리의 Collection.php에서이 파일이 하나 있습니다 : \t \t $ cursor = static :: getMongoCollection (false) -> find ($ query) -> fields ($ fields); 그리고 "1"과 같이 숫자로만 이루어진 필드 이름을 사용하는 것처럼 보입니다. – Oleg
고맙습니다. 크리스티나. 그것은 문제를 해결하는 것 같습니다. 어쩌면이 버그는 나중에 php 드라이버에서 수정 될 것입니다. – Oleg