C'est un barrage frustrant. J'ai besoin de mettre à jour et d'incrémenter les valeurs d'un tableau à l'intérieur d'une collection. Pour ce faire, j'accéder à la collection en utilisant la syntaxe MongoDB comme ceci:Pourquoi ma mise à jour du client ne fonctionne-t-elle pas?
var selectedBargain = Session.get('selectedBargain');
//Confirm that Session.get is successful
console.log("SelectedID is: "+selectedBargain);
buyList.update(selectedBargain, {$inc: {nrOfUnreadMessages: 1} });
buyList.update(selectedBargain, {$set: {messageToggle: 0} });
La console imprime avec succès: SelectedID est: nEXHQFEt6kZ9Wzvg3
Étrangement la requête de mise à jour fonctionne avec succès quand je le lance via la console comme:
buyList.update("nEXHQFEt6kZ9Wzvg3", {$inc: {nrOfUnreadMessages: 1} })
J'ai essayé de changer mon code pour:
buyList.update({_id: selectedBargain}, {$inc: {nrOfUnreadMessages: 1} });
buyList.update({_id: selectedBargain}, {$set: {messageToggle: 0} });
... à Pas de résultat. Quelqu'un peut-il me dire pourquoi cela ne fonctionne pas dans mon code?
Où vais-je mal?
Vous devez déjà avoir coché. mais demande quand même. Êtes-vous sûr de vous connecter à la même DB en cours d'exécution dans le code et la console? – KaSh
@KaSh Eh bien, je n'ai qu'une seule liste d'achat. Et je suis et à mettre à jour uniquement via la console. – SirBT
Lorsque vous dites que cela fonctionne correctement lorsque vous l'exécutez dans la console, je suppose que cela signifie dans Chrome/Firefox? Le '$ set' fonctionne-t-il, et seul' $ inc' échoue, ou bien les deux échouent-ils? Que voyez-vous dans la section WS dans Dev Tools/Network sur Chrome lorsque vous exécutez le code par rapport à lorsque vous exécutez via la console JS? Vous devriez voir les mises à jour de DDP dépasser. – CodeChimp