2012-09-13 4 views
5

Meteor로 _id로 오브젝트를 찾으려고합니다.Meteor : _id로 컬렉션에서 오브젝트 찾기

f1790caa-7a10-4af5-a01c-e80bb2c2fd55 결과를 찾고 :

나는 경우는 출력

Meteor.publish("gifts", function(gid) { 
    console.log("Looking for "+ gid); 
    var gifts = Gifts.find({_id: gid}).fetch(); 
    console.log("Result: " + gifts); 
    return gifts; 
}); 

: 여기

내가 시도 것입니다 검색어 가져 오기 :

Meteor.publish("gifts", function(gid) { 
    console.log("Looking for "+ gid); 
    var gifts = Gifts.find().fetch()[1]; 
    console.log("Result:" + gifts._id); 
    return gifts; 
}); 

개체가 배열에 있고 _id는 위와 같습니다.

f1790caa-7a10-4af5-a01c-e80bb2c2fd55 결과 찾고 : f1790caa-7a10-4af5-a01c-e80bb2c2fd55

또한, 나는 몽고 콘솔에서 찾기를 실행하면, 내가 찾을 대상 :

> db.gifts.find({_id: 'f1790caa-7a10-4af5-a01c-e80bb2c2fd55'}); 
{ "name" : "A new gift", "_id" : "f1790caa-7a10-4af5-a01c-e80bb2c2fd55" } 

내가 뭘 잘못하고 있니?

답변

5

어디에서 문서를 삽입 했습니까? MongoDB는 문자열과 objectId를 다르게 취급합니다. 현재 ObjectIds를 올바르게 처리하지 못하는 Meteor의 버그가있는 것 같습니다.

https://github.com/meteor/meteor/issues/61

+1

포인터를 이용해 주셔서 감사합니다. 놀랍게도이 무언가가 작동하지 않는다는 사실은 초기 단계의 유성이 주어 졌다고해도 놀랍습니다. –

+0

유성 버전 1.4에서는 동작이 계속 관찰 될 수 있습니다 (같은 함정에서 뛰었습니다). @shelman과 연결된 문제는 mongo 콘솔 대신에'meteor shell '을 사용하도록 권장합니다. – zliw

관련 문제