2
我正在嘗試爲使用mongodb和C#的REST API構建搜索功能。
我想在查詢中使用$的mongodb過濾器。我知道硬編碼過濾器字符串{\"name\":{$in:[/^First/]}}
找到記錄,但我無法在使用Filter.In
時獲得相同的功能。
在我蒙戈回購我有一個GetAsync這需要在name
並執行以下操作:
return await Context
.Collection<TChronosDocument>()
.Find(
//"{\"name\":{$in:[/^First/]}}")
Builders<TChronosDocument>.Filter.In(x => name, ToRegex(name)))
.Sort(SortDefinition)
.Page(offset, limit)
.ToListAsync()
.ToAggregate(Mapper);
的ToRegex
功能只是像First
一個字符串轉換成一個字符串[]像[/^First/]
由過濾器使用。
這裏的問題是,這將返回一個空數組的結果,而不是正確匹配條目name : "First Agency"
。
我不確定這是否是在C#中實現$ in功能的正確方法,或者如果我在這裏做了其他錯誤。
(PS:我試過使用Find(Builders<TChronosDocument>.Filter.In(name, ToRegex(name)))
也沒有運氣)。