2016-04-02 67 views
0

我尝试使用asp.net mvc避免MongoDB数据库中的重复文档。 我使用了一个手动生成的objectID,但我仍然得到重复的文档。 enter image description here我该如何避免使用c#在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 shell中运行这个索引。请参阅MongoDB文档中的Create Unique Index

相关问题