使用Ramda过滤Mongo集合中deleted为null的文档失败求助
问题解决:筛选Mongo中deleted字段为日期的文档
你的代码问题在于直接将整个文档对象与null比较,而不是针对文档里的deleted字段进行判断,所以所有文档都不会被剔除(因为文档对象永远不等于null)。以下是几种可行的解决方法:
方法一:使用propEq精准匹配字段值
propEq可以直接检查对象指定属性是否等于目标值,配合reject剔除deleted为null的文档:
deletedFilesList () { return reject(propEq('deleted', null))(this.rows); }
方法二:使用pathEq指定路径匹配(适用嵌套字段场景)
如果deleted是嵌套字段,pathEq更灵活,同样适用于顶层字段:
deletedFilesList () { return reject(pathEq(['deleted'], null))(this.rows); }
方法三:使用propIs验证字段类型(更严谨)
直接验证deleted字段的类型为Date,能避免非null非日期的异常值被保留:
deletedFilesList () { return filter(propIs(Date, 'deleted'))(this.rows); }
内容的提问来源于stack exchange,提问作者yiha
相关产品推荐
相关产品推荐

