如果在MongoDB中使用上述查询,并且返回为空,可能有以下几种原因:

  1. 检查数据存在:确保集合中至少有一个文档包含respInfojobExecDetails字段,并且failureCause属性也存在于嵌套文档中。

  2. 检查路径正确性:确保在respInfo.jobExecDetails[0]路径中的索引位置是有效的。如果respInfo.jobExecDetails是一个数组,确保索引位置0是存在的。

  3. 检查字段命名:确保字段名的大小写和拼写与实际文档中的字段一致。MongoDB区分大小写。

  4. 检查是否需要使用$exists操作符:如果failureCause属性在某些文档中不存在,可以使用$exists操作符来检查该属性是否存在。例如:failureCause: { $exists: true }

  5. 检查是否需要使用$arrayElemAt操作符:如果respInfo.jobExecDetails是一个数组,并且您想要获取特定索引位置的元素属性,可以使用$arrayElemAt操作符来指定索引位置。例如:failureCause: { $arrayElemAt: ["$respInfo.jobExecDetails.failureCause", 0] }

  6. 检查查询条件:确保查询条件不会排除包含failureCause属性的文档。如果查询条件中使用了其他字段过滤文档,可能会导致没有匹配的文档被返回。

请根据您的实际情况检查以上原因,并调整查询以确保正确返回嵌套文档的属性。

mongo显示嵌套文档具体属性 $project _id 0 failureCause $respInfojobExecDetails0failureCause 但是返回空

原文地址: http://www.cveoy.top/t/topic/jass 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录