반응형
Mongoose를 사용하여 ObjectId로 문서를 검색할 수 없습니다.
Campaign.find {client_id:req.param('client_id')}, (error, campaigns) ->
if error
response =
error: error.message
else
for campaign in campaigns
query =
campaign_id: campaign._id
console.log query
CampaignResponse.find query, (err, campaignResponsesCount) ->
console.log campaignResponsesCount
response = campaigns
res.json response
어떤 이유에서인지 결과가 반환되지 않습니다.단, 에 아이템이 있습니다.CampaignResponse
그렇게 구체적으로campaign._id
타입이나 캐스팅에 문제가 있는 것은 확실하지만, 어떻게 해야 할지 모르겠습니다.
도움이 필요하신가요?
몇 가지 힌트:
- 명령줄에서 mongodb에서 동일한 쿼리를 실행하여 결과를 확인합니다.
- 스키마에서 "campaign_id"가 ObjectId로 정의되어 있습니까?이 경우 ObjectId 유형을 사용하여 검색해 보십시오.
예를 들어 다음과 같습니다.
var ObjectId = require('mongoose').Types.ObjectId;
var query = { campaign_id: new ObjectId(campaign._id) };
이전(정답)을 개선하기 위해 프로젝트에 다음과 같이 사용합니다.
String.prototype.toObjectId = function() {
var ObjectId = (require('mongoose').Types.ObjectId);
return new ObjectId(this.toString());
};
// Every String can be casted in ObjectId now
console.log('545f489dea12346454ae793b'.toObjectId());
ObjectId를 사용하여 파라미터를 비교하는 대신 단순히
Campaign.findById {req.param('client_id'),function(err,docs)}....
objectId findById를 사용하여 문서를 찾을 때 가장 효율적인 방법입니다.
언급URL : https://stackoverflow.com/questions/7878557/cant-find-documents-searching-by-objectid-using-mongoose
반응형
'programing' 카테고리의 다른 글
스프링폭스 말고 다른 거 없어? (0) | 2023.03.08 |
---|---|
Wordpress 테마를 일반 XHTML+CSS로 변환 (0) | 2023.03.08 |
GWT가 컴백하는 건가요 아니면 AngularJS로 넘어가는 건가요? (0) | 2023.03.08 |
ui 라우터 onEnter에서 액세스 범위 또는 서비스에 액세스하여 액세스 확인(auth) (0) | 2023.03.08 |
이클립스로 라인 번호를 표시하려면 어떻게 해야 하나요? (0) | 2023.03.08 |