2016-05-16 58 views
0

大家好我创建了以下数据库MongoDB我想更新Array任务中的数据,但我无法做到这一点我不知道是否有人可以帮助我在这里是我的代码和我的数据库:
enter image description here更新嵌入式mongoDB数据库中的数据

 MongoDBHandler h = new MongoDBHandler(); 
     MongoDatabase database = h._database; 
     MongoCollection process = h.process; 
     BsonDocument processusImport = new BsonDocument(); 
     BsonArray tasks = new BsonArray(); 

     tasks.Add(new BsonDocument 
     { 
     { "name","validation"}, 
     { "startDate",""}, 
     { "endDate",""}, 
     { "message",""}, 
     { "status"," "} 
     }); 

     tasks.Add(new BsonDocument 
     { 
     { "name","GetStockValues"}, 
     { "startDate",""}, 
     { "endDate",""}, 
     { "message",""}, 
     { "status"," "} 
     }); 

     tasks.Add(new BsonDocument 
     { 
     { "name","WriteInExcel"}, 
     { "startDate",""}, 
     { "endDate",""}, 
     { "message",""}, 
     { "status"," "} 
     }); 

     tasks.Add(new BsonDocument 
     { 
     { "name","CopyToArchive"}, 
     { "startDate",""}, 
     { "endDate",""}, 
     { "message",""}, 
     { "status"," "} 
     }); 

     tasks.Add(new BsonDocument 
     { 
     { "name","PrepareUpload"}, 
     { "startDate",""}, 
     { "endDate",""}, 
     { "message",""}, 
     { "status"," "} 
     }); 

     processusImport.Add("task", tasks); 

     processusImport["marque"] = "aaaa"; 
     processusImport["inputFile"] = "azerty"; 
     processusImport["processQueue"] =0; 
     process.Insert(processusImport); 

回答

0

用于更新下面的查询,希望这有助于你的事业

db.Process.update({"task.name":"validation"},{$set:{"task.$.startDate":"someDate","task.$.endDate":"someDate","task.$.message":"someMessage","task.$.status":"someStatus"}}) 
+0

感谢,但我需要的C#代码 – sana

+0

你从来没有说过,你需要一个C#代码在你的问题,反正创建模式根据您的mongodb结构使用类,并使用C#mongodb驱动程序进行更新。 – Dhiraj