匹配使用MongoDB的符合規範的驅動程序我有這個文件:精確包含一個子集
{
"_id" : ObjectId("0758030341b870c019591900"),
"TmsId" : "EP000015560091",
"RootId" : "1094362",
"ConnectorId" : "SH000015560000",
"SeasonId" : "7894681",
"SeriesId" : "184298",
"Titles" : [
{
"Size" : 120,
"Type" : "full",
"Lang" : "en",
"Description" : "House"
},
{
"Size" : 10,
"Type" : "red",
"Lang" : "en",
"Description" : "House M.D."
}
], yadda yadda yadda
,我查詢,如:
var query = new Expando();
query["Titles.Description"] = Q.In(showNames);
var fuzzyMatches = db.GetCollection<Program>("program").Find(query).ToList();
其中showNames是一個字符串[]包含的東西像{「House」,「Glee」,「30 Rock」}
我的結果包含模糊匹配。例如,「House」一詞將每個節目返回一個Title,其中包含House這個詞(就像它在做一個Contains一樣)。
我想要的是直接匹配。所以如果document.Titles包含「一個大藍屋」,它不會返回匹配。只有在Titles.Description包含「House」的情況下,我才喜歡一場比賽。
很確定我無法通過NoRM傳遞原始shell查詢。 – jfar 2010-12-08 04:28:56