繁体   English   中英

为什么我在使用 AnyIn 时会收到错误“字段的序列化器……必须实现 IBsonArraySerializer”?

[英]Why am I getting the error “The serializer for field … must implement IBsonArraySerializer” when using AnyIn?

我在 C# 中通过 mongodb 声明了一个过滤器,如下所示:

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

并且当area是单个字符串时完美地工作,例如 1. 但我想要 area 是 1,2,5,55,这个过滤器工作。 为此,我已将过滤器更改为:

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

根据这个建议

但我收到了这个错误:

字段“域”的序列化程序必须实现 IBsonArraySerializer 并提供项目序列化信息。

为什么我会收到此错误,我该如何解决?

我看过这篇文章,但没有人不回复这篇文章。

如果我正确理解了这个问题,您应该使用$in 查询

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM