C# 在C中使用Mongodb$过滤器#

C# 在C中使用Mongodb$过滤器#,c#,mongodb,C#,Mongodb,我正在尝试使用mongodb和C#为RESTAPI构建一个搜索函数 我试图在查询中使用mongodb中的$in过滤器。我知道,硬编码筛选器字符串{“name\:{$in:[/^First/]}}可以按照我的意愿查找记录,但是使用筛选器时无法获得相同的功能 在我的mongo repo中,我有一个GetAsync,它接受名称,并执行以下操作: return await Context .Collection<TChronosDocument>()

我正在尝试使用mongodb和C#为RESTAPI构建一个搜索函数

我试图在查询中使用mongodb中的$in过滤器。我知道,硬编码筛选器字符串
{“name\:{$in:[/^First/]}}
可以按照我的意愿查找记录,但是使用
筛选器时无法获得相同的功能

在我的mongo repo中,我有一个GetAsync,它接受
名称
,并执行以下操作:

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);
返回等待上下文
.Collection()
.找到(
//“{”name\:{$in:[/^First/]}}”)
Builders.Filter.In(x=>name,ToRegex(name)))
.Sort(排序定义)
.页(偏移量、限制)
.ToListAsync()
.ToAggregate(制图员);
ToRegex
函数仅将类似
First
的字符串转换为类似
[/^First/]
的字符串[],以供过滤器使用

这里的问题是,这会为结果返回一个空数组,而不是正确匹配带有
名称:“First Agency”
的条目

我不确定这是否是在C#中实现$in功能的正确方法,或者我只是在做其他错误的事情

(注:我曾尝试使用
Find(Builders.Filter.In(name,ToRegex(name))
,但也没有成功)。

尝试替换

Builders<TChronosDocument>.Filter.In(x => name, ToRegex(name)))
Builders.Filter.In(x=>name,ToRegex(name)))

Builders.Filter.ElemMatch(x=>name,ToRegex(name))
Builders<TChronosDocument>.Filter.ElemMatch(x => name, ToRegex(name))