zoukankan      html  css  js  c++  java
  • .Net core----使用Mongo多条件查询

    直接上干货

    数据库连接:

                 MongoClient clients = new MongoClient(_ibcoptions.Value.MongoConnStr);//配置文件读取
                //获取指定数据库
                IMongoDatabase dbs = clients.GetDatabase(_ibcoptions.Value.MongoDbName);
                //获取指定集合   BsonDocument数据库文档对象
                IMongoCollection<BsonDocument> coll = dbs.GetCollection<BsonDocument>("ibeaconlocus");
    

     多添加查询:

                //创建约束生成器
                FilterDefinitionBuilder<BsonDocument> builderFilter = Builders<BsonDocument>.Filter;
                //排序生成器
                SortDefinitionBuilder<BsonDocument> builderSort = Builders<BsonDocument>.Sort;
                //排序约束   Ascending 正序    Descending 倒序
                SortDefinition<BsonDocument> sort = builderSort.Descending("timestamp");
                //约束条件
                FilterDefinition<BsonDocument> filter = builderFilter.And(builderFilter.Eq("userId", userid),
                //gte: 大于等于,lte小于等于
                 builderFilter.Gte("timestamp", endTime.ToString()), builderFilter.Lte("timestamp", sartTime.ToString()));
                //获取数据
                var result = coll.Find<BsonDocument>(filter).ToList();
    

      

     取值:

      foreach (var item in result)
                {
                    //判断是否存在
                    if (item.GetValue("Channel", null) != null) 
                   { 
                         channel = item.GetValue("Channel").ToString();
                   }
                    //因为是倒序的所以我取的第一条
                    break;
                }
    

      

      最后用的时候别忘了需引用: MongoDB.BSon与MongoDB.Driver

     

  • 相关阅读:
    maven编译时错误:无效的目标发行版
    参数传递方法(用Delphi的汇编代码解释)
    Playing with coroutines and Qt
    Qt的一些开发技巧
    刘晏:大唐经济战线的英雄
    Qt的焦点策略
    高级程序员与CTO技术总监首席架构师
    Python入门机器学习
    Service Mesh(服务网格)
    自定义博客园Markdown样式.超简单!
  • 原文地址:https://www.cnblogs.com/wuyabaibsd/p/11174828.html
Copyright © 2011-2022 走看看