2017-03-14 12 views
0

jerseyオブジェクト内の特定の番号を持つドキュメントを更新するために使用される数字の配列を持つ簡単なスクリプトを作成しようとしています。ジャージーオブジェクト内のスポンサーが更新されます。以下では、「スポーツ」という名前のデータベース内に、「アスリート」という名前のコレクションのキーがあり、これまでのスクリプトよりも優れています。変更された配列は数字のリストになります。私はそれを使用してスポンサーフィールドを "Nike"に更新したいのです。現在のところ、このエラーが発生していますが、現時点では大括弧を追加/削除しています。いくつかの場所でシングルクォートやダブルクォートを使用しなければならないかどうかは私も興味がありました。MongoDBクエリで選択したドキュメントのフィールドを更新するスクリプト

SyntaxError: Unexpected token { 

キー

firstName - String 
lastName - String 
jersey - Object 
    number - String 
    sponsor - String 

注:各文書は 'ジャージ' オブジェクト内独自の '数' を持っている

db = db.getSiblingDB('sports'); 

var changes = [ 
    "23", 
    "8" 
]; 

for(var i = 0; i < changes.length; i++) { 
    db.athletes.update({ 
     "jersey": { 
     "number": changes[i], 
    }, 
    } 
    {'$set': {"sponsor": 'Nike'} } 
);} 
+1

を試してみましたドットnを使用して何か? {$ set:{"スポンサー": 'Nike(ナイキ)')のための 'for(var i = 0; i Veeram

+0

ありがとうございましたVeeram私はドット表記法を使用することで、ずっと簡単になりました。 –

+0

ドット表記法に変更したとき、同じ構文エラーが発生しましたが、変更後にコンマを削除すると解決しました –

答えて

0

コマンド:あなたは

 var changes=["23","8"]; 

     for (var i = 0; i < changes.length; i++) { 
      db.athletes.update({ 
       "jersey.number": changes[i] 
      }, { 
       $set: { 
        "jersey.sponsor": "NIKE" 
       } 
      }); 
     } 
+0

ありがとうございます。私はVeeramのコメントの後に修正しました。私の主な問題は、変更の直後にあったカンマによる構文エラーでした。私はドット表記法も使用しました –

関連する問題