2016-04-02 3 views
0

asp.net mvcを使用してMongoDBデータベースに重複するドキュメントを避けようとします。 私は手動で生成されたobjectIDを使用しましたが、私はまだ重複した文書を取得します。 enter image description herec#を使用してMongodbでドキュメントを複製しないようにするには

この私のコード

//collection "Devise1" 
public class Devise 
{ 

    public ObjectId id_devise { get; set; } 
    public string parité { get; set; } 
    public float low { get; set; } 
    public float high { get; set; } 
    public string date_observation_d { get; set; } 
} 

//code insertion 
System.IO.StreamReader file = new System.IO.StreamReader(@"C:\Users\user PC\Desktop\données financiere finale\Classeur1.csv"); 

    string fileLines; 
    try { 
     while ((fileLines = file.ReadLine()) != null) 
     { 
      string[] elements; 
      elements = fileLines.Split(new char[] { ' ' }); 
      for (int x = 0; x < elements.Length; x++) 
      { 
       devises2.parité = "EUR/USD"; 
       devises2.id_devise = new ObjectId(); 

       devises2.date_observation_d = elements[0]; 

       devises2.low = float.Parse(elements[3], CultureInfo.InvariantCulture.NumberFormat); 
       devises2.high = float.Parse(elements[2], CultureInfo.InvariantCulture.NumberFormat); 
       collection1.InsertOneAsync(devises2); 
      } 

     } 
    } 
    catch(Exception ex) 
    { 
     throw ex; 
    } 

答えて

0

はあなたのコレクションにid_deviseに一意のインデックスを作成しています。

C#アプリケーションでインデックスを作成できますが、簡単な方法はMongoDBシェルでこれを実行することです。 MongoDBドキュメントのCreate Unique Indexを参照してください。

関連する問題