2017-05-06 40 views
-1

好日子大家,部署asp.net項目與MongoDB的

我對訪問的MongoDB一個asp.net網頁API項目的工作(我是新來的吧)。我有這樣的示例代碼訪問MongoDB的:我已經在我的機器和等上安裝MongoDB的

private IMongoCollection<User> UserCollection { get; } 

    public MongoDbService(string databaseName, string collectionName, string databaseUrl) 
    { 
     var mongoClient = new MongoClient(databaseUrl); 
     var mongoDatabase = mongoClient.GetDatabase(databaseName); 
     this.UserCollection = mongoDatabase.GetCollection<User>(collectionName); 
    } 

    public async Task Add(User newUser) => await this.UserCollection.InsertOneAsync(newUser); 

    public async Task<List<User>> GetAllUsers() 
    { 
     var users = new List<User>(); 

     var allDocuments = await this.UserCollection.FindAsync(new BsonDocument()); 
     await allDocuments.ForEachAsync(doc => users.Add(doc)); 

     return users; 
    } 

,我可以連接並得到我所需要的。我的問題是 - 當有人從git下拉代碼時它將如何工作?它會立即創建數據庫嗎?它將如何連接到它?如果用戶安裝了mongoDb數據庫,它會創建一個本地版本的mongoDb數據庫嗎?或者mongoDb必須託管在服務器上供用戶連接?

請告訴我,如果我不清楚我在問什麼。 非常感謝

回答

1

Will it create database on the fly?

是MongoDB的將動態創建數據庫,如果不存在

how will it connect to it

默認情況下,如果你沒有通過任何價值MongoClient() mongodb默認爲localhost

Will it create a local version of mongoDb database if the user has it installed?

沒有蒙戈將在飛行

Or mongoDb must be hosted on a server for the user to connect?

沒有MongoDB中提供了可以在本地安裝 而是一個獨立的簡易版本創建它,如果你的數據庫需要設置或任何其他數據爲您的應用程序,您可以輕鬆導入它

+0

謝謝你的回答。例如,如果我沒有通過「databaseUrl」,只是指定數據庫的名稱,它將創建一個名稱的數據庫,該集合將如何工作?它是否也會創建具有指定名稱的默認值。 – vsarunov

+0

默認情況下,它也會創建集合 –