change how tags are checked

This commit is contained in:
Víctor Losada Hernández
2026-11-03 00:15:01 +01:00
parent d7e8ae8d14
commit 798f14feba
+15 -13
View File
@@ -29,25 +29,27 @@ const rendererConditions = (legacy, v3)=>{
return {}; // If all renderers selected, renderer field not needed in query for speed
};
const tagConditions = (tagsAnd, tagsOr, tagsNot)=>{
const tagConditions = (tagsAnd, tagsOr, tagsNot) => {
const conditions = {};
if(tagsAnd.length > 0) {
conditions.$and = tagsAnd.map((tag)=>({
tags : tag.trim()
}));
if (tagsAnd.length > 0) {
conditions.tags = {
$all: tagsAnd.map(tag => tag.trim())
};
}
if(tagsOr.length > 0) {
conditions.$or = tagsOr.map((tag)=>({
tags : tag.trim()
}));
if (tagsOr.length > 0) {
conditions.tags = {
...conditions.tags,
$in: tagsOr.map(tag => tag.trim())
};
}
if(tagsNot.length > 0) {
conditions.$nor = tagsNot.map((tag)=>({
tags : tag.trim()
}));
if (tagsNot.length > 0) {
conditions.tags = {
...conditions.tags,
$nin: tagsNot.map(tag => tag.trim())
};
}
return conditions;