MongoDB集合筛选求助:按type字段匹配A、B、C值失败
解决MongoDB按type字段筛选A/B/C类数据的问题
你的代码逻辑存在错误:用and(eq("type", A), eq("type", B), eq("type", C))意味着要求同一个文档的type字段同时等于A、B、C,这显然不可能,因此无法查询到任何数据。
正确的做法是使用**in操作符**,匹配type字段值属于指定集合的文档,具体写法如下:
修正后的代码示例
// 假设使用MongoDB Java驱动,若A/B/C为字符串常量需加引号,或确保是已定义的合法变量 collection.find(in("type", Arrays.asList("A", "B", "C")));
补充说明
- 若A、B、C是字符串常量,必须用双引号包裹,避免被当作未定义变量引发错误
in操作符的作用是匹配字段值存在于指定列表中的文档,完全符合你筛选type为A、B、C数据的需求
内容的提问来源于stack exchange,提问作者mike
相关产品推荐
相关产品推荐

