2017-10-17 12 views
1

それぞれのページに対して表示、編集、削除、追加などの操作があります。mongodbでプッシュ操作を実行する必要がありません

var roleprivilege = { 
      'role_name' : req.body.role_name, 
      'add':req.body['add'], 
      'del':req.body['del'], 
      'view':req.body['view'], 
      'edit':req.body['edit'], 
       } 

私は良い作業findOneAndUpdate

mongo.role.findOneAndUpdate({'_id': id},roleprivilege,{upsert: true,new : true},function(err, response) { 
       console.log("Inserted"); 
      }); 

そのを使用していますが、私はすべての追加、役割の内部デル、編集、表示を保存する必要があります。私はそれが文字列

のような店で、私はアクションで一つの値だけを選択した場合、問題があるここでは、この

var roleprivilege = { 
      'role_name' : req.body.role_name, 
      'role':{ 
      'add':req.body['add'], 
      'del':req.body['del'], 
      'view':req.body['view'], 
      'edit':req.body['edit'] 
       } 
      } 

ようにしようとした私の見解は、ここで私は、出力では必要あり

 <div class="col-md-12 role_class" ng-repeat="menu in privilege_menu" > 
      <div class="col-md-2">{{menu}}</div> 
      <div class="col-md-10" ng-int="{{l_name =(menu|lowercase)}}"> 
      <span class="role_checkbox"> <label class="control control--checkbox">View 
       <input type="checkbox" ng-checked="check_role(l_name,'view')" name="view" value="{{menu|lowercase}}" /> 
       <div class="control__indicator"></div> 
       </label></span> 
      <span class="role_checkbox" > <label class="control control--checkbox">Add 

        <input type="checkbox" name="add" value="{{menu|lowercase}}" /> 
        <div class="control__indicator"></div> 
       </label></span> 
      <span class="role_checkbox"> <label class="control control--checkbox">Edit 
        <input type="checkbox" name="edit" value="{{menu|lowercase}}" /> 
        <div class="control__indicator"></div> 
       </label></span> 
      <span class="role_checkbox"> <label class="control control--checkbox">Delete 
        <input type="checkbox" name="del" value="{{menu|lowercase}}" /> 
        <div class="control__indicator"></div> 
       </label></span> 
      </div> 
     </div> 

ですフォーマット

{ 
    "_id" : ObjectId("592817d6f6d6dd35c381bb0d"), 
    "role_name" : "TSE", 
    "role" : { 
     "view" : [ 
      "dashboard", 
      "settings", 
      "users", 

     ], 
     "add" : [ 
      "vehicles", 
      "customers", 
      "reports" 
     ], 
     "edit" : [ 
      "users" 
     ] 
    } 
} 

の下に私のreq.bodyこの

のように見えます
{ role_name: 'SA', 
    view: [ 'dashboard', 'users', 'settings' ], 
    add: 'users', 
    edit: 'users', 
    del: [ 'users', 'settings' ] } 
+0

req.bodyオブジェクトのように見えるんどのように? –

+0

応答ありがとうございました 私のreq.bodyはこのような{role_name: 'SA'、 ビュー:['ダッシュボード'、 'ユーザー'、 '設定']、 追加: 'users'、 編集: 'users '、 del:[users、' settings ']} – Vishnu

+0

私は自分のコードで更新しました – Vishnu

答えて

1

ここでの問題は、req.bodyが一つだけの要素などがある場合は、リストオブジェクトを使用していないということです。

view: [ 'dashboard', 'users', 'settings' ], 
add: 'users', instead of add: ['users'] 

あなたはこのケースを処理するために、変数roleprivilegeの作成を改善する必要がありますそれをmongoDBに挿入する前に。

あなたはそれを印刷するときroleprivilegeは次のようになりたい:

{ 
    'role_name' :'SA', 
    'role':{ 
    'add': ['users'], 
    'del': [ 'users', 'settings' ], 
    'view':[ 'dashboard', 'users', 'settings' ], 
    'edit':['users'] 
    } 
} 
+0

あなたが問題を修正しました – Vishnu

関連する問題