2012-11-13 2 views
0

내가 컬렉션을 가지고 있고, 내 컬렉션의 일부가 여기에있다,MongoDB의 쿼리는,

이 첫 번째 배열

$ho = array('a' => 
array (
'0' => '508bef9e6803fa6305000000', 
'1' => '50901eac6803fafb0d000000', 
'2' => '508bf3766803fa810f000000', 
'3' => '50a2aeac6803fa150b000000', 
'4' => '50a2ae846803fa140b000000', 
'5' => '50a2ae616803fab706000000', 
'6' => '50a2ae3a6803fab506000000', 
'7' => '50a2adfc6803fab306000000', 
)), 

다른 사용자로부터 또 다른 삽입 배열이 호출 할 수 있습니다 작동하지 않습니다

'_id' => new MongoId("508bef9e6803fa6305000000"), 
'a' => 
array (
'0' => '508bf3766803fa810f000000', 
'1' => '50a2ae616803fab706000000', 
'2' => '50a2aeac6803fa150b000000', 
), 

가 제가하고 싶은 것은 첫 번째 배열에서 두 번째 배열을 빼지하는 두 번째 배열을 호출 할 수 있습니다,하지만 난 MongoDB를

,691,363와 함께하고 싶어
'a' => 
array (
'0' => '508bef9e6803fa6305000000', 
'1' => '50901eac6803fafb0d000000', 
'4' => '50a2ae846803fa140b000000', 
'6' => '50a2ae3a6803fab506000000', 
'7' => '50a2adfc6803fab306000000', 
), 

(210) 나는 (그것이 결국 것이다)

$lk = $m->kud->user->findOne(
array(
"_id" => new MongoId("508bef9e6803fa6305000000"),'$nin'=>array("a"=>$ho["a"]) 
), 
array("_id" => 0, "a" => 1) 
); 

답변

0

MongoDB를 현재 값 일치에 따른 예측을 지원하지 않습니다 도움 :) 주셔서 감사합니다, 다른 쿼리를 시도했지만이 같은 결과를 얻을 수 없었다. 이와 같은 경우에는 전체 문서를 반환 한 다음 클라이언트 쪽 값을 가져와야합니다.

+0

나는 트위터와 같은 앱을 만들어 자신을 개발하고 있으며, 내가 뭘하고 싶은지, 사용자가 다른 사용자의 팔로어를 바라 볼 때, 사용자가 그 사용자를 따르는 지 보여 주려고한다. 보내고 싶지 않다. foreach 루프에서 쿼리, 다른 생각이 있습니까? 어떻게 관리 할 수 ​​있습니까? – user1794257

+0

forEach 루프를 넣을 때 걱정할 쿼리 부분은 무엇입니까? 또한 도움이 될지 확신 할 수 없지만 쿼리를 위해 [$ in] 연산자 (http://docs.mongodb.org/manual/reference/operator/in/)를보고 싶을 수도 있습니다. – shelman

+0

네, 고맙습니다. – user1794257