C# Mongodb動態查詢
關於MONGODB的架設再此小弟就不多做贅述,
已有很多前輩已經分享很多也很棒的教學!
再此只是做個記事,剛好有需求用到,
先記下來避免忘記
目前使用的MongoDB版本是3.0.4
C# driver 則是 2.0.1
範例資料來源-行政院農委會資料開放平台
位置:http://data.coa.gov.tw/Service/OpenData/EzgoAttractions.aspx
JSON資料格式如下
{
"Name": "天送埤休閒農業區",
"Tel": "0937995104 李主委 (遊客中心建置中) 傳真:03-9894089",
"Introduction": "天送埤休閒農業區面積約290公頃,有6個羅東運動公園大,目前有天山、天福二村位在蘭陽平原沖積扇頂端,海拔約130至180公尺,三面環山為平原與山脈的交界處,因為如此的地理特性,造成該地區日夜溫差大,而肥沃的礦物質土壤也讓種植的蔥、蒜、銀柳、梨等作物品質相當好。當地的產業除了頗具知名度的三星蔥蒜外,還有銀柳、芭蕉及號稱「美人腿」的筊白筍。種植面積廣達80公頃的三星銀柳,占台灣總產量95以上,產量可說是獨占鰲頭,優良的品質還外銷到新加坡、香港及加拿大等地,並以行銷品牌概念命名為「天送銀柳」,取天送銀兩的吉祥涵義。行經公路旁的青蔥產區時,可以留意一把把青蔥神采奕奕的挺立著;進到市區看到排成一串人龍的小店面,肯定就是三星有名的小吃「卜肉」,這裡的豬肉可是經過拍打按摩,再裹上特殊配方麵粉油炸而成,肉質香嫩彈牙,吸引不少外地民眾購買。嚐完美食後,不妨到青蔥文化館或天送埤文物館,看看有著長長蔥白的三星蔥到底有何魅力;而天送埤文物館則有過去繁榮伐木業及日常生活的縮影,300多件古玩意有些雖然已從時代洪流中褪色,卻仍保留過去美好時光的種種回憶。【如欲安排前往建議事先電話聯繫確認】",
"TrafficGuidelines": "開車:羅東交流道下高速公路,直走遇中山路一段,右轉接中山路一段(7丙縣道)直走往天送埤方向即扺。大眾運輸搭火車在羅東站下車,轉搭公路局國光號(羅東往天送埤),天送埤終點站下車,步行約3分鐘即達。",
"Address": "宜蘭縣三星鄉下湖路1號",
"OpenHours": "",
"City": "宜蘭縣",
"Town": "三星鄉",
"Coordinate": "24.656365,121.628332"
}
轉換為C# MODEL格式如下
public class CustomObject
{
[BsonId]
public ObjectId Id { get; set; }
public string Name { get; set; }
public string Tel { get; set; }
public string Introduction { get; set; }
public string TrafficGuidelines { get; set; }
public string Address { get; set; }
public string OpenHours { get; set; }
public string City { get; set; }
public string Town { get; set; }
public string Coordinate { get; set; }
}
由於示範資料我已先匯入至Mongodb中,如下圖
所以接下來要做的是就是來比較一下查詢方式嚕
由於C# driver 1.x 版跟20.的版本有些許差異,
目前就以2.0官網的介紹為準
官網參考 :http://mongodb.github.io/mongo-csharp-driver/2.0/reference/driver/expressions/
我想在SQL中,我們常常會用到where條件,甚至有多個.
那透過C# driver如何達到
以上述官網的為例