我在MongoDB中有一个这样的查询
collection.find(
{$and:[
{origin:{ $in: countries }}, {brand: {$in: brands}}
]}
).toArray();
如果数组countries
和brands
都有一些值,则查询将正确地返回同时具有指定国家和品牌的文档.但是,如果这些数组中的一个为空,则查询将不再工作.我怎么才能解决这个问题呢?我希望我的用户能够只按国家或品牌搜索,而不是总是两者兼而有之.我也有其他参数,应该可以独立搜索或与其他参数组合.我如何构造一个查询才能给我提供所需的输出?