MongoDB监控查询命令、linq联合查询

            // 创建 MongoClientSettings 对象
            var settings = MongoClientSettings.FromConnectionString("mongodb://192.168.11.137:27017");


            // 将 CommandLogger 设置为 MongoClientSettings 的 CommandLogger 属性
            settings.ClusterConfigurator = cb => {
                cb.Subscribe<CommandStartedEvent>(e =>
                {
                   var cmd = e.Command.ToString();
                });
            };

            var client = new MongoClient(settings);

            var database = client.GetDatabase("MyTestDB");
            var userinfos = database.GetCollection<UserInfo>("UserInfo").AsQueryable();
 
            var ages = database.GetCollection<UserAge>("UserAges").AsQueryable();
            var ageinfos = database.GetCollection<AgeInfo>("AgeInfos").AsQueryable();

            var user = (from m in userinfos
                         join a in ages on m.Id equals a.UserId into aGroup
                        from a2 in aGroup.DefaultIfEmpty()
                        join b in ageinfos on a2.Id equals b.AgeId into  bGroup
                        from b2 in bGroup.DefaultIfEmpty()
                        select new
                        {
                            Name = m.Name,
                            Time = b2.CreateTime,
                            Age = a2.Age
                        }).FirstOrDefault();
posted @   IWing  阅读(33)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
点击右上角即可分享
微信分享提示