我有一个名为CommId的Int字段的Communication集合,我正在尝试使用下面的代码查找包含在一个Int数组中的所有匹配文档。如果此查询有效,则应返回5个文档。
var filter = Builders<Communication>.Filter.In(x => x.CommID, CommunicationIds);
List<Communication> allComms = _context.Communications.Find(filter).ToList<Communication>();
CommunicationIds是Ints的数组,当我遍历代码时,我看到它包含1,2,3,4,5。在遍历代码时,我已经验证了通信集合包含所有5个文档的条目(总共有数百个文档),并且每个文档的CommID都等于1,2,3,4,5。
然而,当我运行这个查询时,我没有得到任何结果--关于我的过滤器的一些内容是不正确的,但是我不知道为什么。有人有什么建议吗?
发布于 2018-11-20 00:55:06
结果发现,MongoDB将JSON文档加载为字符串值,而不是整数。我必须获得MongoDB的Navicat,然后检查列值类型。一旦我知道了这个问题,就很容易纠正。一旦所有整数值实际上都是ints而不是字符串,查询就会正常工作。
https://stackoverflow.com/questions/53377045
复制相似问题