2016-06-19 8 views
0
coordinatesCollection.findOne({ 
       "unique_id": unique_id, 
      }, function(err, object) { 
       if (object) { 
        coordinatesCollection.update({ 
         "unique_id": unique_id 
        }, { 
         $push: { 
          coordinates: { 
           "coordinateX": msg.coordinatex, 
           "coordinateY": msg.coordinatey, 
           "ms_time": ms_time, 
           "page": msg.page, 
          } 
         } 
        }) 
       } else { 
        coordinatesCollection.insert({ 
         "unique_id": unique_id, 
         "coordinates": [{ 
          "coordinateX": msg.coordinatex, 
          "coordinateY": msg.coordinatey, 
          "ms_time": ms_time, 
          "page": msg.page, 
         }] 
        }) 
       } 
      }); 
     }); 

このコードの目的である:UNIQUE_ID座標にUNIQUE_ID挿入し、新たな配列が存在しない場合にアレイを座標に、coordinateXを追加coordinateY、ms_time、ページが存在する場合。 コレクションを見たとき、同じunique_idを持つ複数の文書が見つかりました。 どうしたのですか?重複IDのMongoDBの

+0

あなたはいつも 'coordinatesCollection.insert'を呼び出していますか? –

答えて

0

この問題では、クエリで$exists文を使用して更新機能のみを使用することをお勧めします。

関連する問題