首页 文章 精选 留言 我的

精选列表

搜索[c/c ],共10000篇文章
优秀的个人博客,低调大师

C# Windows服务以指定用户运行

参考一下 https://bbs.csdn.net/topics/330151879 服务程序以LocalSystem安装运行没问题,但用这个账户运行的服务无法访问局域网共享资源,比较麻烦,所以想指定用某个账户来启动服务。但是当我指定用Administrators组里某个用户安装服务时,显示“帐户名无效或不存在,或者密码对于指定的帐户名无效”的信息,导致服务安装不成功。其实账户名和密码当然是正确的。 弹出窗口输入 .\用户名 和 密码 注意: .\

优秀的个人博客,低调大师

使用c#对MongoDB进行查询(1)

1.BsonDocument对象 在MongoDB.Bson命名空间下存在一个BsonDocument类,它是MongoDB的文档对象,代表着MongoDB中不规则数据一条条实体模型。可以使用BsonDocument对不规则数据进行操作,这个类型继承了IEnumberable<>类,也就是说又将每一个实体模型看做一个集合,我们可以使用下标方式获取实体模型中的值 // // 摘要: // Gets or sets a value by position. // // 参数: // index: // The position. // // 返回结果: // The value. public override BsonValue this[int index] { get; set; } // // 摘要: // Gets or sets a value by name. // // 参数: // name: // The name. // // 返回结果: // The value. public override BsonValue this[string name] { get; set; } // // 摘要: // Gets the value of an element or a default value if the element is not found. // // 参数: // name: // The name of the element. // // defaultValue: // The default value to return if the element is not found. // // 返回结果: // Teh value of the element or a default value if the element is not found. [Obsolete("Use GetValue(string name, BsonValue defaultValue) instead.")] public virtual BsonValue this[string name, BsonValue defaultValue] { get; } 2.连接配置 //连接地址 private static string conn = "mongodb://192.168.11.51:40000"; //数据库名称 private static string dbName = "yan"; //集合名称 private static string colName = "Demo"; //连接服务端 static MongoClient client = new MongoClient(conn); //获取指定数据库 static IMongoDatabase db = client.GetDatabase(dbName); //获取指定集合 BsonDocument数据库文档对象 static IMongoCollection<BsonDocument> coll = db.GetCollection<BsonDocument>(colName); 3.插入数据 var doc = new[] { new BsonDocument{ { "DepartmentName","开发部"}, { "People",new BsonArray { new BsonDocument{ { "Name", "狗娃" },{"Age",20 } }, new BsonDocument{ { "Name", "狗剩" },{"Age",22 } }, new BsonDocument{ { "Name", "铁蛋" },{"Age",24 } } } }, {"Sum",18 }, { "dim_cm", new BsonArray { 14, 21 } } }, new BsonDocument{ { "DepartmentName","测试部"}, { "People",new BsonArray { new BsonDocument{ { "Name", "张三" },{"Age",11 } }, new BsonDocument{ { "Name", "李四" },{"Age",34 } }, new BsonDocument{ { "Name", "王五" },{"Age",33 } } } } , { "Sum",4 } , { "dim_cm", new BsonArray { 14, 21 } } }, new BsonDocument{ { "DepartmentName","运维部"}, { "People",new BsonArray { new BsonDocument{ { "Name", "闫" },{"Age",20 } }, new BsonDocument{ { "Name", "王" },{"Age",22 } }, new BsonDocument{ { "Name", "赵" },{"Age",24 } } } }, { "Sum",2 }, { "dim_cm", new BsonArray { 22.85, 30 } } } }; coll.InsertMany(doc); 4.查询 4.1 查询部门是开发部的信息 //创建约束生成器 FilterDefinitionBuilder<BsonDocument> builderFilter = Builders<BsonDocument>.Filter; //约束条件 FilterDefinition<BsonDocument> filter = builder.Eq("DepartmentName", "开发部"); //获取数据 var result = coll.Find<BsonDocument>(filter).ToList(); foreach (var item in result) { //取出整条值 Console.WriteLine(item.AsBsonValue); } 4.2 获取Sum大于4的数据 //创建约束生成器 FilterDefinitionBuilder<BsonDocument> builderFIlter = Builders<BsonDocument>.Filter; //约束条件 FilterDefinition<BsonDocument> filter = builder.Gt("Sum", 4); var result = coll.Find<BsonDocument>(filter).ToList(); foreach (var item in result) { //取出整条值 Console.WriteLine(item.AsBsonValue); } 4.3 And约束 //创建约束生成器 FilterDefinitionBuilder<BsonDocument> builderFilter = Builders<BsonDocument>.Filter; //约束条件 FilterDefinition<BsonDocument> filter = builder.And(builder.Gt("Sum", "2"), builder.Eq("DepartmentName", "运维")); var result = coll.Find<BsonDocument>(filter).ToList(); foreach (var item in result) { //取出整条值 Console.WriteLine(item.AsBsonValue); } 4.4查询指定值 //创建约束生成器 FilterDefinitionBuilder<BsonDocument> builderFilter = Builders<BsonDocument>.Filter; ProjectionDefinitionBuilder<BsonDocument> builderProjection = Builders<BsonDocument>.Projection; //Include 包含某元素 Exclude 不包含某元素 ProjectionDefinition<BsonDocument> projection = builderProjection.Include("DepartmentName").Exclude("_id"); var result = coll.Find<BsonDocument>(builderFilter.Empty).Project(projection).ToList(); foreach (var item in result) { //取出整条值 Console.WriteLine(item.AsBsonValue); } 4.5 排序 //创建生成器 FilterDefinitionBuilder<BsonDocument> builderFilter = Builders<BsonDocument>.Filter; //排序生成器 SortDefinitionBuilder<BsonDocument> builderSort = Builders<BsonDocument>.Sort; //排序约束 Ascending 正序 Descending 倒序 SortDefinition<BsonDocument> sort = builderSort.Ascending("Sum"); var result = coll.Find<BsonDocument>(builderFilter.Empty).Sort(sort).ToList(); foreach (var item in result) { //取出整条值 Console.WriteLine(item.AsBsonValue); } 4.6 In查询 //创建生成器 FilterDefinitionBuilder<BsonDocument> builderFilter = Builders<BsonDocument>.Filter; FilterDefinition<BsonDocument> filter = builderFilter.In("DepartmentName", new[] { "测试部", "开发部" }); var result = coll.Find<BsonDocument>(filter).ToList(); foreach (var item in result) { //取出整条值 Console.WriteLine(item.AsBsonValue); } 4.7 分页查询 //创建生成器 FilterDefinitionBuilder<BsonDocument> builderFilter = Builders<BsonDocument>.Filter; //分页 Skip 跳过 Limit查询多少 var result = coll.Find<BsonDocument>(builderFilter.Empty).Skip(1).Limit(1).ToList(); foreach (var item in result) { //取出整条值 Console.WriteLine(item.AsBsonValue); } 4.8查询总条目数 //创建生成器 FilterDefinitionBuilder<BsonDocument> builderFilter = Builders<BsonDocument>.Filter; //总条目数 var result = coll.Find<BsonDocument>(builderFilter.Empty).Count(); 4.9Linq查询 //创建生成器//linq var result = from y in coll.AsQueryable() select new { DepartmentName = y["DepartmentName"], id = y["_id"] }; foreach (var item in result) { Console.WriteLine("DepartmentName:" + item.DepartmentName + "====Id:"+item.id); } 4.10分组查询 //创建生成器 FilterDefinitionBuilder<BsonDocument> builderFilter = Builders<BsonDocument>.Filter; //分组 var result = from y in coll.AsQueryable() group y by y["DepartmentName"] into s select new { DepartmentName = s.Key, Count = s.Count() }; foreach (var item in result) { Console.WriteLine("DepartmentName:" + item.DepartmentName + "====Count:"+item.Count); } 4.11连表查询 //linq //连表查询 在这里是自己连自己 var result = from u in coll.AsQueryable() join o in coll.AsQueryable() on u["_id"] equals o["_id"] select new { DepartmentName1 = u["DepartmentName"], DepartmentName2 = u["DepartmentName"] }; foreach (var item in result) { Console.WriteLine("DepartmentName1:" + item.DepartmentName1 + "====DepartmentName2:" + item.DepartmentName2); }

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册