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 @   石曼迪  Views(229)  Comments(1Edit  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
瓴域建设-环保事业中心
点击右上角即可分享
微信分享提示