mongodb杂记

mongodb 2.3.0-beta1操作示例:

    public static class UserService
    {
        static MongoClient client;
        static IMongoDatabase database;
        static string collectionName = "mycollection";
        static string databaseName = "mydatabase";

        static UserService()
        {
            client = new MongoClient("mongodb://10.16.236.109:27017");
            database = client.GetDatabase(databaseName);
        }

        internal static UserInfoViewModel GetUserByName(string name)
        {
            var collection = database.GetCollection<BsonDocument>(collectionName);
            BsonDocument query = new BsonDocument { { "Username", name } };
            return BsonSerializer.Deserialize<UserInfoViewModel>(query);
        }

        internal static List<UserInfoViewModel> GetUserList()
        {
            var collection = database.GetCollection<BsonDocument>(collectionName);
            var result= collection.Find(new BsonDocument()).ToListAsync().Result;
            List<UserInfoViewModel> us = new List<UserInfoViewModel>();
            foreach (var item in result)
            {
                us.Add(BsonSerializer.Deserialize<UserInfoViewModel>(item));
            }
            return us;
        }

        internal static void AddUser(UserInfoViewModel model)
        {
            var collection = database.GetCollection<BsonDocument>(collectionName);
            var bsonObject = model.ToBsonDocument();
            collection.InsertOne(bsonObject);
        }

        internal static void DelUser(string name)
        {
            var collection = database.GetCollection<BsonDocument>(collectionName);
            BsonDocument query = new BsonDocument {{ "Username", name}};
            collection.DeleteOne(query);
        }

        internal static void UpdateUser(UserInfoViewModel model)
        {
            var collection = database.GetCollection<BsonDocument>(collectionName);
            BsonDocument query = new BsonDocument {{ "Username", model.Username } };
            BsonDocument update = new BsonDocument {{ "$set", new BsonDocument("RealName", model.RealName) }};
            collection.UpdateOne(query, update);
        }
    }

 

posted @ 2016-08-27 08:50  石曼迪  Views(230)  Comments(1Edit  收藏  举报
瓴域建设-环保事业中心