2011-09-09 5 views
1

나는 이와 같은 것을 찾을 수 없었습니다. 그러므로 질문입니다. 카테고리의 배열을 가진 페이지 \ blarg 컬렉션이 있습니다. 기존 범주의 목록을 가져올 수 있기를 원하며 Map Reduce를 수행하지 않으려 고 모든 범주를 가져 와서 고유성 클라이언트 측에 필터를 적용하기로 결정했습니다. 난 단지 생각, 비어 있지 않은 배열을 끌어하고 싶습니다, 그래서 나는 다음 쿼리 고안 :

{카테고리 : {$하지 {$ 크기 : 0}}}

내가 그러나 모르겠어요 드라이버를 사용하여 복제하는 방법. $ Not는 BsonValue를 취하고 $ Size는 int를 취합니다. $ Not 쿼리에 $ Size 조건을 넣는 방법을 모르겠습니다. QueryDocument 또는 뭔가를 사용할 수 있지만 익명 개체를 통해 연산자를 에뮬레이트하는 방법을 모르겠다. (또는 최소한 필자는 이에 대한 문서를 보지 못했습니다.)

P. 나는 Query.EQ ("Categories", BsonArray.Create (new List())) 또는 뭔가를 할 수 있을지도 모른다는 것을 깨닫는다. 그러나 나는이 시점에서 그 원리에 대한 해답에 관심이있다. 예를 들어 하나 이상의 항목이있는 배열이 필요할 수도있는 또 다른 시나리오입니다. 다음과 같이

+0

가장 좋은 방법은 클라이언트 쪽에서 필터링하는 것입니다. 서버는 단일이지만 클라이언트는 여러 개이기 때문입니다. 따라서 우리는 모든 어려운 작업을 클라이언트쪽으로 이동해야합니다. –

답변

1

당신은 C#에서 쿼리를 표현할 수 = Query.Not ("카테고리")

var에 쿼리를 크기 (0);.

당신은 그와 같은 쿼리 사실에 있음을 확인할 수 있습니다

var에 JSON = query.ToJson은();

+0

감사합니다! 나는 단지 충분히 깊이 파지 않았다. Query.NE를 사용하려고 노력하고 있습니다. – Vassi