2011-11-30 2 views
1

몽구스로 질문 할 때 기준으로 개체를 사용할 때 문제가 있습니다.오브젝트를 사용하여 몽구스로 질의 할 수 없습니까?

var id = { 
    cid: 111, 
    vid: 222, 
    pid: 333 
}; 

// the following doesn't work at all 
Category.find({id: id}, function(err, docs) { 
//----returns nothing. 
}); 

// while 
Category.find({'id.pid': id.pid, 'id.cid': id.cid,'id.vid': id.vid}, function(err, docs) { 
//----returns some docs. 
}); 
// does work` 

이것은 문제입니까?

+0

잠시 동안 놀고 나면 대답을 삭제했습니다. 문제를 재현 할 수는 있지만 노드 코드와 Mongo 콘솔에서 내가 찾은 결과가 일관되게 혼동되었습니다. 내 추천은 개체를 전혀 쿼리로 사용하지 않는 것입니다. 그들은 문서에없는 것 같습니다. –

+0

@Isaac Cambron 귀하의 답변을 주셔서 감사합니다, 나는 질문으로 개체를 사용하지 않는 경우, 나는 'id.cid'와 'id.pid'및 'id.pid'에 대한 색인을 생성해야합니까? – Boris

답변

1

기본 드라이버 (mongo-node-native)가 아직 그것을 지원하지 않기 때문에 객체 (nested-object format)가 mongoose와 함께 작동한다고 생각하지 않습니다. 쿼리가에서 1 개 인덱스를 사용할 수 있기 때문에, 많은 도움이되지 않습니다 각각에 대해 별도의 색인을 생성 -

당신은 항상 필드 id.cid, id.pid에 쿼리하는 경우 및 id.vid, 당신은 그들 모두를 통해 복합 인덱스를 확인해야합니다 실행 중 시간.

관련 문제