首页 > 解决方案 > 关键字列表为空时如何返回所有文档

问题描述

我想用关键字列表查询我的数据库,结果是 ANDed。

这是我目前正在使用的查询:

SKU.find({name: {$all: keywords}}).exec()

当有 1 个或多个关键字时,这将按预期工作。但是,当有 0 个关键字时,查询不会返回任何内容。我希望它返回数据库中的所有文档。

标签: node.jsmongodbmongoose

解决方案


我认为您应该在节点端本身执行此操作。

就像是,

if (keywords.length > 0) {
    filterCriterion = { name: { $all: keywords } }
} else {
    filterCriterion = {}
}

SKU.find(filterCriterion).exec()

推荐阅读