如果mongodb的find()中没有关键字,忽略搜索字段



我想使用这些字段进行搜索,

{ "tag":"tag2", "date":"2022-07-18", "userId":"1", "postId":"12" }

,如果某些字段为空(假设标签:"),那么搜索结果应该基于其他有一些关键字的字段,如果所有字段都是空的,那么结果将显示所有数据。

一种选择是使用$and$or。例如:

db.collection.find({
$and: [
{$or: [{tag: "tag2"}, {tag: " "}]},
{$or: [{userId: "1"}, {userId: " "}]},
{$or: [{postId: "12"}, {postId: " "}]}
]
})

看看它在操场的例子中是如何工作的

相关内容

最新更新