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 "); }