1. mongoDb Driver パッケージをインストールします
2. Wrapper クラスを使用します:
public class MongoDbWrapper : IDisposable { private MongoServer _server; private MongoDatabase _db; public MongoDbWrapper() { var uri = ConfigurationSettings.AppSettings["mongoUrl"]; var url = new MongoUrl(uri); var client = new MongoClient(url); _server = client.GetServer(); _db = _server.GetDatabase(url.DatabaseName); } public MongoDbWrapper BatchAdd<T>(T[] objArray, string collectionName) { var collection = _db.GetCollection<T>(collectionName); collection.InsertBatch(objArray); return this; } public MongoDbWrapper Add<T>(T obj, string collectionName) { var collection = _db.GetCollection<T>(collectionName); collection.Insert(obj); return this; } /// <summary> /// e.g. { "Age", new BsonDocument { { "$gte", 10 } } } /// </summary> /// <param name="query"></param> /// <param name="collectionName"></param> public void DeleteBy<T>(Expression<Func<T, bool>> whereExp, string collectionName) { var collection = _db.GetCollection<T>(collectionName); collection.Remove(Query<T>.Where(whereExp)); } public void Update<T>(IMongoQuery query, string collectionName, T newObj) where T : IMongoUpdate { var collection = _db.GetCollection<T>(collectionName); collection.Update(query, newObj); } public IEnumerable<T> Search<T>(Expression<Func<T, bool>> whereExp, string collectionName) { var collection = _db.GetCollection<T>(collectionName); return collection.Find(Query<T>.Where(whereExp)).ToList(); } public T Single<T>(Expression<Func<T, bool>> whereExp, string collectionName) { return Search(whereExp, collectionName).Single(); } public void RemoveCollection(string collectionName) { _db.DropCollection(collectionName); } public void Dispose() { _server.Disconnect(); } }
3 関連する操作の使用例 上記は MongoDb C# Wrapper クラス (MongoDb Driver 1.9) の内容です。 PHP Chinese Net (m.sbmmt.com) に注目してください。