2016-05-06 66 views
0

我真的想試試這個,因爲我開始使用mongo db但是找不到答案,以及如何實現這一點,我認爲我已經接近了解它,但需要一點幫助;所以,我有這樣一個模型:如何使用asp.net mvc在mongodb中保存新文檔?

public class UserInformationViewModel 
{ 
    [DisplayName("Nom")] 
    public string NomUser { get; set; } 

    [DisplayName("Prénom")] 
    public string PrenomUser { get; set; } 

    [DisplayName("Entreprise")] 
    public string EntrepriseUser { get; set; } 

    [DisplayName("Email")] 
    public string EmailUser { get; set; } 

    [DisplayName("Téléphone")] 
    public string TelephoneUser { get; set; } 
} 

,我在一個模式顯示如下:

<div id ="test" class="form-panel-modify"> 
    <div class="form-horizontal style-form"> 
     <div class="form-group"> 
      @Html.LabelFor(m => m.UserInformationViewModel.NomUser, new { @class = "col-sm-d col-sm-3 control-label" }) 
      <div class="col-sm-8"> 
       @Html.TextBoxFor(m => m.UserInformationViewModel.NomUser, new { @class = "form-control" }) 
      </div> 
     </div> 
     <div class="form-group"> 
      @Html.LabelFor(m => m.UserInformationViewModel.PrenomUser, new { @class = "col-sm-d col-sm-3 control-label" }) 
      <div class="col-sm-8"> 
       @Html.TextBoxFor(m => m.UserInformationViewModel.PrenomUser, new { @class = "form-control" }) 
      </div> 
     </div> 
     <div class="form-group"> 
      @Html.LabelFor(m => m.UserInformationViewModel.EntrepriseUser, new { @class = "col-sm-d col-sm-3 control-label" }) 
      <div class="col-sm-8"> 
       @Html.TextBoxFor(m => m.UserInformationViewModel.EntrepriseUser, new { @class = "form-control" }) 
      </div> 
     </div> 
     <div class="form-group"> 
      @Html.LabelFor(m => m.UserInformationViewModel.EmailUser, new { @class = "col-sm-d col-sm-3 control-label" }) 
      <div class="col-sm-8"> 
       @Html.TextBoxFor(m => m.UserInformationViewModel.EmailUser, new { @class = "form-control" }) 
      </div> 
     </div> 
     <div class="form-group"> 
      @Html.LabelFor(m => m.UserInformationViewModel.TelephoneUser, new { @class = "col-sm-d col-sm-3 control-label" }) 
      <div class="col-sm-8"> 
       @Html.TextBoxFor(m => m.UserInformationViewModel.TelephoneUser, new { @class = "form-control" }) 
      </div> 
     </div> 
    </div> 
</div> 

模態:

  <div class="modal-content" style="height:600px;width:600px;text-align:center"> 
       <div class="modal-header"> 
        <button type="button" class="close" data-dismiss="modal">&times;</button> 
        <h4 class="modal-title">Informations</h4> 
        <p>Fill the form</p> 
       </div> 
       @Html.Partial("_ModalContent") 
      </div> 

,所以我想利用不同的信息表單並將它們保存爲我的mongo數據庫中的文檔,但我無法弄清楚如何做到這一點。我在網上找到的所有內容似乎已經過時,或者沒有回答我的問題。而且通過閱讀mongo網站上的文檔,我無法做到這一點,所以如果有人可以幫助。

會很棒!非常感謝,希望我很清楚。

編輯:

public class ConnectionHandler<T> where T : IMongoEntity 
{ 
    public MongoCollection<T> MongoCollection { get; private set; } 

    public ConnectionHandler() 
    { 
     var connectionString = "mongodb://IPADRESS"; 

     //// Acceder à la chaine de connection 
     var mongoClient = new MongoClient(connectionString); 

     //// Acceder au serveur 
     var mongoServer = mongoClient.GetServer(); 

     //// Acceder à la BD 
     const string databaseName = "BD NAME"; 
     var db = mongoServer.GetDatabase(databaseName); 
     //// Acceder aux collection la BD (tables en langage relationnel...) 
     //// NB: le nom des collections est mis en minuscule et pluralisé 
     MongoCollection = db.GetCollection<T>(typeof(T).Name); 
    } 
} 
+1

的HTML代碼無您顯示的內容是相關的,以及您找到的文檔是否適用於您的情況取決於您使用的是哪個版本的驅動程序。 – CodeCaster

+0

您可以共享包含對MongoDB驅動程序代碼的引用的相關服務器端代碼嗎? –

+0

我做了一個編輯,這是我如何連接到我的db –

回答

0

文件將是您的模型。所以,你需要使用MongoDB的驅動程序來訪問集合你的模型:

var usersCollection = db.GetCollection<UserInformationViewModel>("UserInformationCollection"); 

,然後用您可以使用收集的MongoDB的操作,如插入:

public async Task Create(UserInformationViewModel user, CancellationToken token) 
{ 
    await usersCollection.InsertOneAsync(user, cancellationToken: token).ConfigureAwait(false); 
} 
+0

你能解釋一下嗎?我把這個放在我的控制器中嗎? 好吧,我認爲它會進入用戶集合? –

+0

我會將訪問MongoDB驅動程序的代碼添加到專門的數據訪問類。 UserRepository之類的東西。將該UserRepository的一個實例提供給您的UserController。 –

+0

那麼我的項目中的參考呢?我使用mongo ref byt仍然有消息「名稱MongoCollection不存在於上下文中」 –

相關問題