2016-07-18 3 views
0

컬렉션에있는 문서 내의 여러 필드를 업데이트하려고하는데 문제가있는 것 같습니다. 나는 내가 설정하려고하는 특정 속성 (주제, 표준, 가격)에 액세스 할 수없는 것 같습니다. 누구든지 도울 수 있을까요? 지금까지는 제 코드가 있습니다. 그리고 newAttributes가 거기에있는 것처럼 보이지 않습니다.MongoDB/Meteor에서 문서 내의 필드 업데이트하기

doc._id가 올바르게 채워 졌음을 확인했습니다.

Template.AppAdmin.events({ 
'click #editApp': function() { 


    let newAttributes = {}; 

    let subject = $('#subject').val(); 
    let standard = $('#standard').val(); 
    let price = $('#price').val(); 
    console.log(subject); 
    console.log(standard); 
    console.log(price); 

    newAttributes = { subject: subject, standard: standard, price: price }; 

    var doc = Session.get('appId'); 
    console.log(doc); 
    console.log(newAttributes); 


    Apps.update(doc._id, { $set: { newAttributes }}); 
    console.log('app has been updated!'); 

} 
}); 

고맙습니다.

UPDATE 나는, 내가 제대로

... ID로 문서를 잡는되지 않은이 일을 알아 냈 물론 :

Apps.update({_id: doc}, { $set: newAttributes }); 

답변

1

당신은 주위에 괄호를 제거해야 newAttributes는 이미 객체이기 때문에 newAttributes. 그래서 업데이트 된 코드는

Apps.update(doc._id, { $set: newAttributes }); 

또는

Apps.update({'_id':doc._id}, { $set: newAttributes }); 
처럼 될 것입니다
관련 문제