可能是由於.NET Core還不是正式版的緣故吧,MongoDB的官方Driver(http://mongodb.github.io/mongo-csharp-driver/)一直不支持.NET Core,這給想在.NET Core上嘗試MongoDB帶來了不便,本人就是其中之一 :)
於是Fork了官方的source code,沒有太多的修改,就可以運行了,於是打包發佈,不敢獨享!
可以在Nuget上搜 ”RaisingStudio.MongoDB.Driver“ 找到這個包,也可以直接用Package Management Console安裝:
Install-Package RaisingStudio.MongoDB.Driver
示例:
using MongoDB.Bson; using MongoDB.Driver;
var client = new MongoClient("mongodb://localhost:27017"); var database = client.GetDatabase("foo"); var collection = database.GetCollection<BsonDocument>("bar"); await collection.InsertOneAsync(new BsonDocument("Name", "Jack")); var list = await collection.Find(new BsonDocument("Name", "Jack")) .ToListAsync(); foreach(var document in list) { Console.WriteLine(document["Name"]); }
或使用強類型方式:
public class Person { public ObjectId Id { get; set; } public string Name { get; set; } }
var client = new MongoClient("mongodb://localhost:27017"); var database = client.GetDatabase("foo"); var collection = database.GetCollection<Person>("bar"); await collection.InsertOneAsync(new Person { Name = "Jack" }); var list = await collection.Find(x => x.Name == "Jack") .ToListAsync(); foreach(var person in list) { Console.WriteLine(person.Name); }
詳細說明請參見官方文檔:
http://mongodb.github.io/mongo-csharp-driver/
源代碼: