2013-09-24 2 views
0

나는 리튬을 사용하여 mongoDb에 저장된 일부 데이터에 대해 전체 텍스트 검색을 실행하려고합니다. 이러한 수익을 모두리튬에서 명령을 실행하는 MongoDB

$results = Page::connection()->connection->command(array("text" => "Page", 'search' => "term")); 

을하지만 :

$mongodb = Connections::get('default')->connection; 
$results = Page::connection()->connection->command(array("text" => "Page", 'search' => "term")); 

나는 또한 시도했다 : 치명적인 오류 : A를 호출 여기

내가 내 컨트롤러에서 작업을 수행하려고하는 방법이다 멤버 함수 command()가 아닌 객체

내가 뭘 잘못하고 있니?

편집 :

내가 페이지에 간단한 쿼리가 잘 작동하는지 추가해야합니다. 예를 들면 다음과 같습니다.

$results = Page::find('all'); 

예상대로 페이지 컬렉션에있는 모든 문서가 포함 된 배열이 반환됩니다.

업데이트 2 :

나는이 모든 것을 WAMP 서버에서 실행하고있었습니다. 오늘 리눅스 서버에서 실행하려고했지만 여전히 정확한 오류가 발생했습니다. 나는 이것으로 정말로 난처했고 약간의 도움을 사용할 수 있었다. 누구든지 아이디어가 있습니까? 여기

<?php 
namespace app\models; 

use lithium\data\Connections; //added during debugging 
use lithium\data\source\MongoDb; //added during debuging 

class Page extends \lithium\data\Model { 

} 
?> 

내 연결입니다 :

$plugins = Plugins::connection()->connection->command([ 
    'text' => 'plugins', 
    'search' => $this->request->query['q'] 
]); 
return compact('plugins'); 

내가 :

Connections::add('default', array(
     'type' => 'MongoDb', 
     'host' => '192.168.48.128', 
     'database' => 'my_collection' 
)); 
+0

'Page'는 무엇입니까? 그것은'리튬 \ 데이터 \ 모델'확장합니까? 나는 그렇게 생각한다. 그리고 귀하의 리튬은 어디에서 설치합니까? 기스 웁? 작곡가? 버전 번호가 있습니까? – rmarscher

+0

페이지는 단순한 모델 일뿐입니다. 이렇게 : '' 버전 번호에 있는지,하지만 난 단 2 일 전 GitHub의에서 다운로드하지 않습니다. – user2566987

답변

0

다른 사람들이 참조 할 수 있도록 여기에 게시하십시오. 를 호출

적절한 방법은이 방법을 수행 할 때

$conn = Model::connection(); 
$db = $conn->selectDB('db'); 
$result = $db->command(array(... 

완벽하게 작동합니다.

2

나는 이런 식으로하고있어 지금 앉아 여기

는 페이지 모델 구성을 확인하는 것이 좋습니다 - 다른 데이터를 정상적으로 반환하는 모델입니까? 연결 구성이 맞습니까?

+0

네, 제 모델이 돌아가고 있습니다. 이 코드는 컨트롤러 또는 모델에서 실행됩니까? 특수 수입/네임 스페이스/용도가 작동하도록하려면 사용해야합니까? – user2566987

+0

예를 들어 모델이 어떻게 설정되었는지 알려주실 수 있습니까? 연결 파일에서 특별한 작업을 수행해야합니까? 컨트롤러에 '사용'선언이 필요합니까? – user2566987