MongoDB官方C#驅動中查詢條件Query用法

Query.All("name", "a", "b");//經過多個元素來匹配數組
 
 Query.And(Query.EQ("name", "a"), Query.EQ("title", "t"));//同時知足多個條件
 
 Query.EQ("name", "a");//等於
 
 Query.Exists("type", true);//判斷鍵值是否存在
 
 Query.GT("value", 2);//大於>
 
 Query.GTE("value", 3);//大於等於>=
 
 Query.In("name", "a", "b");//包括指定的全部值,能夠指定不一樣類型的條件和值
 
 Query.LT("value", 9);//小於<
 
 Query.LTE("value", 8);//小於等於<=
 
 Query.Mod("value", 3, 1);//將查詢值除以第一個給定值,若餘數等於第二個給定值則返回該結果
 
 Query.NE("name", "c");//不等於
 
 Query.Nor(Array);//不包括數組中的值
 
 Query.Not("name");//元素條件語句
 
 Query.NotIn("name", "a", 2);//返回與數組中全部條件都不匹配的文檔
 
 Query.Or(Query.EQ("name", "a"), Query.EQ("title", "t"));//知足其中一個條件
 
 Query.Size("name", 2);//給定鍵的長度
 
 Query.Type("_id", BsonType.ObjectId );//給定鍵的類型
 
 Query.Where(BsonJavaScript);//執行JavaScript
 
 Query.Matches("Title",str);//模糊查詢 至關於sql中like -- str可包含正則表達式

 

示例:正則表達式

using (var database = new Server.MongoDatabaseServer())
            {
                
                MongoCollection<BsonDocument> mc = database.GetCollection<BsonDocument>("NewsList");
                DateTime qtime = DateTime.Now;
                var query = Query.And(Query.GTE("PublishDate", startDate), Query.LTE("PublishDate", endDate), Query.EQ("NewsSource", "Kompas"));
                foreach (BsonDocument emp in mc.Find(query))
                {
                    long newsId = emp["NewsId"].AsInt64;
                    string title = emp["NewsTitle"].AsString;
                    Console.WriteLine("查詢結束:新聞Id" + newsId + "----標題:" + title);
                }
                DateTime etime = DateTime.Now;
                TimeSpan ts = etime.Subtract(qtime);
                string stime = ts.TotalMilliseconds.ToString();
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine("toatal  use " + stime + " ms to Query ");
            }
相關文章
相關標籤/搜索