类型验证
MongoDB for IntelliJ 插件目前处于私有预览阶段。
定义
MongoDB for IntelliJ 插件检查查询中的文档字段以确保数据类型匹配。例如,如果您在一个等式比较、插入或更新操作中使用一个String 字段,插件将检查字段值以确保该类型也是 String。
如果值类型无效,插件会显示一个警告,指示该类型无法分配。
要解决此警告,请将字段值更改为与预期类型匹配。如果字段是动态类型且未应用严格类型规则,则可以忽略无效类型警告。
示例
以下 Java 代码片段中,trip_status 字段类型为 String,但 Filters 操作尝试使用 Integer 值 1324324 进行等式比较
public List<Document> findCompletedTripsByDriver( String driverId ) { return trips.find( Filters.and( Filters.eq( fieldName: "trip_status", value: 1324324 ) Filters.eq( fieldName: "driver_id", driverId ) )).into( new ArrayList<> () ); }
因为 value 是一个 Integer,而 MongoDB 文档中的 trip_status 是一个 String,插件会显示有关无效类型的警告
"Integer"(提供值的类型)不能分配给 "String"("trip_status" 的类型)
要解决无效类型,请将值更改为 String。例如:"start"。