2013-06-29 2 views
0

나는 mongodb에 절대적으로 익숙하지 않기 때문에 유성 컬렉션에서 문서를 가져 오는 방법을 묻습니다. 나는 사용자에 대한 문서가 있는지 확인하고 객체로 업데이트유성 컬렉션의 문서를 가져 오는 방법은 무엇입니까?

  if (Saves.find({_id: Meteor.userId()}).fetch()) { 

        console.log("Before " +Saves.find({_id: Meteor.userId()}).fetch()) 
        if (Meteor.isServer){ 
        Saves.update({_id: Meteor.userId(), save: save}) 
        } 
        console.log("Success " + Saves.find({_id: Meteor.userId()}).fetch()) 

내가 console.log를 통해 객체를 "저장"고 싶어,하지만 지금 그들은 모두 출력 아무것도 또는 [object Object] 그렇게하지 않는 경우 fetch() (커서 객체를 분명히 출력)을 사용하십시오.

답변

0

앞서 지적한대로 Collection.find()는 cursor을 반환하지만 Collection.find(). fetch()는 문서를 반환합니다.

var cursor = Saves.find({ _id : Meteor.userId() /* , save : { $not : true } */ }); 

cursor.forEach(function(item) { 
    console.log(item); 
    Saves.update({ _id : item._id }, { $set : { save : true } }); 
}); 

당신은을 활용하는 유성 방법으로 전체를 감싸는 것 :

나는 당신이 정확하게 뭘하려는거야,하지만 어쩌면이 같은 (테스트되지 않은) 이해 확실하지 않다 대기 시간 보상을 제공하고 Collection.update에 대한 쓰기 권한을 보장하십시오.

관련 문제