.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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM