2014-09-10 3 views
0

Я изучаю Метеор. До сих пор я был в состоянии инициализировать свойства на User.profile со следующим:

Meteor.users.update(Meteor.userId(),{$set:cardObject}); 

Я хотел бы обновить эти свойства, но когда я использую ту же технику, я получаю это:

errorClass {error: 403, reason: "Access denied", details: undefined, message: "Access denied [403]", errorType: "Meteor.Error"…} 

Это позволит мне $ незадана свойства, хотя:

Meteor.users.update(Meteor.userId(),{$unset: cardObject}); 

Это странно для меня. Я могу удалить свойства, но не изменять их. Любые идеи?

+0

Просьба указать, есть ли у вас правила разрешения/запрета для пользователей и как выглядит образец 'cardObject'. –

+0

@DavidWeldon Эта проблема возникла из-за простой опечатки с моей стороны. – Chris

ответ

0

У меня нет полной базы кода, поэтому я предполагаю, но на основе фрагмента кода это может быть потому, что cardObject не заполняет команду $set должным образом. типичная $set команда выглядит следующим образом:

...{"$set" : {"key": "value"}}... 

так, это может зависеть от того, что находится в вашем cardObject.

Принимая во внимание, что ваш $unset будет работать просто отлично, потому что вам нужен только ключ, чтобы выполнить отмену.

+0

Спасибо, что посмотрели. Это была одна из моих первоначальных мыслей, но я проверил схему несколько раз, и я почти уверен, что они идентичны. Я давно работаю, поэтому возможно, что я пропустил что-то простое. Возможно, разница в очагах. – Chris

+0

Итак, как выглядит типичный 'cardObject' (в JSON)? – strack

+0

Я стою исправлено ... Объект карты передавался изгоем «.». Свежие глаза снова побеждают. Спасибо за вашу помощь. – Chris

Смежные вопросы