mongodb 为什么我得到错误“字段的序列化程序,..使用AnyIn时必须实现IBsonArraySerializer”?

hmae6n7t  于 2023-04-29  发布在  Go
关注(0)|答案(1)|浏览(150)

我在c#中通过mongodb声明了一个Filter,如下所示:

var filters = new List<FilterDefinition<Message>>
if (!area.Equals(""))
filters.Add(Builders<Message>.Filter.Eq("Domain", area));

area是一个字符串时(例如1),可以很好地工作。但我想要的区域是1,2,5,55,这个过滤器工作。为此,我将过滤器改为:

filters.Add(Builders<Message>.Filter.AnyIn(x => x.Domain, area));

根据this suggestion
但我得到了这个错误:
字段“Domain”的序列化程序必须实现IBsonArraySerializer并提供项序列化信息。
为什么我会得到这个错误,我如何修复它?
我看过this post,但没有人不回答这篇文章。

yzuktlbb

yzuktlbb1#

如果我正确理解了这个问题,你应该使用$in query

filters.Add(Builders<Message>.Filter.In("Domain", new List<int>() { a1, a2 }));

相关问题