4

次のコードを使用して、配列にコンテンツを追加し、2つの異なるカウンターをインクリメントしています。

アイテムは配列に適切にプッシュされ、pendingSizeは適切にインクリメントされます。ただし、unReadがインクリメントされることはありません。以前は増分していましたが、今日は停止しました。私のmongodbコレクション(mongohqでホストされている)のunReadフィールドの値は0(文字列ではなく数値)に設定されています

コンソールを見ると、「更新の成功」が表示されます。

なぜそれが機能しなくなったのか手がかりはありますか?

ありがとう

Notifications.update({ "id" : theid}, { $push: { pending: notification}, $inc: { unRead : 1 }, $inc: { pendingSize: 1 }}, function(err){
                    if(err){
                        console.log('update failed');
                        callback("Error in pushing." + result.members[i]);
                    }
                    else{ 
                        console.log('update succes');
                        callback("Success");
                    }
                });
4

1 に答える 1

12

次のように、$inc の引数を 1 つのネストされたオブジェクトに結合します。

$inc: { unRead : 1, pendingSize: 1 }

JSON で表されるオブジェクトは key:value であり、キーは一意である必要があるため、複数の値を指定しようとしても機能し$incません。

于 2012-03-04T01:25:44.027 に答える