私はMongooseモデルのさまざまなタイプのオプションを更新するための単一の関数を作成しようとしていましたが、この奇妙な動作に遭遇しました。 ここに私がやろうとしていたことがあります。私のような何かしようとした場合Mongoose findOneAndUpdateがスイッチケースの値を受け付けていません
module.exports.updateUser = function(id, action, status, callback) {
const query = {
_id: id
};
let field = '';
switch (action) {
case 'download':
field = 'download_permission';
break;
case 'upload':
field = 'upload_permission';
break;
case 'view':
field = 'view_permission';
break;
case 'edit':
field = 'edit_permission';
break;
}
User.findOneAndUpdate(query, {
$set: {
field: status,
last_updated: moment().format('llll')
}
}, callback);
};
今、:
User.findOneAndUpdate(query, {
$set: {
'edit_permission': status,
last_updated: moment().format('llll')
}
}, callback);
};
を実際にMongoDBの内のドキュメントを更新します。 誰かが2番目の作品が最初の作品ではない理由を説明することはできますか(文書は更新されません)。ありがとう。