1
このMeteorサーバーコードは、オブジェクトを配列に追加し、新しい配列でコレクションを更新するか、空の配列が存在しない場合は更新します。配列が整数に変更されます
コードの後でremoveFromPendingArr
が呼び出されます。
しかし、mongoシェルは、配列の値が1であり、配列[]が空でも塗りつぶしでもないことを示しています。
何故、どのように修正するのか? thx
'addToPendingArr': function (myObj) {
let results = [];
let pendingArr = Meteor.users.findOne({_id: ab.userIdForAB()}).myArr;
if (typeof pendingArr === 'object') {
results = pendingArr.push(myObj);
Meteor.users.update({_id: ab.userIdForAB()}, {$set: {myArr: results}});
}
return results;
},
'removeFromPendingArr': function (xxx) {
let results = [];
let pendingArr = Meteor.users.findOne({_id: ab.userIdForAB()}).myArr;
if (typeof pendingArr === 'object' && pendingArr.length > 0) {
results = pendingArr.filter(y => y.mark !== xxx);
}
Meteor.users.update({_id: ab.userIdForAB()}, {$set: {myArr: results}});
return results;
},
'結果= pendingArr.push(このmyobj);' - results' 'の結果は[ "ドキュメント"] -see配列の新しい長さ(https://developer.mozilla.org/en/ docs/Web/JavaScript/Reference/Global_Objects/Array/push?v =コントロール#Return_value) –
が表示されます。あなたは修正を投稿したいですか? thx –
そう、あなたはそれを把握することはできませんか? 'results'を使用したところで' pendingArr'を使ってください。(コードの後半) - 結果は配列でなければならないので簡単ではありません。あなたがそれを理解したら、ロケット手術ではありません。あなたが思うものは、使用する必要があるものを使用してください –