使用带有 NoRM 驱动程序的 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”返回每个带有标题的节目,其中包含单词 House(就像它在做 Contains 一样)。
我想要的是直接匹配。因此,如果 document.Titles 包含“A big blue House”,它不会返回匹配项。仅当 Titles.Description 包含“House”时,我才会想要匹配。