@rackabello
Well you can be lucky. I worked the last days on the same problem and solved it.
The think is to fix this problem: “only brings results if all values are matched, rather than any values.” you have to use Multiple-Item References. That was for me only way to reach it - with the function include()
An example from my project
Collection “ExcursionsDB” with the Multiple-Item References (Region, Langue, Responsable)
So first show you how to Display it as Text:
Display Mutiple-Item References as Text
import wixData from 'wix-data';
$w.onReady(function () {
$w("#dynamicDataset").onReady(async () => {
const itemObj = $w("#dynamicDataset").getCurrentItem();
$w('#regionView').text = await fillText(itemObj._id, "ExcursionsDB", "region");
$w('#langueView').text = await fillText(itemObj._id, "ExcursionsDB", "langue");
$w('#themeView').text = await fillText(itemObj._id, "ExcursionsDB", "themeActivites");
$w('#guideView').text = await fillText(itemObj._id, "ExcursionsDB", "responsable");
$w('#guideNrView').text = (await wixData.query("GuidesDB").eq("_id", itemObj.responsable).find()).items[0].portable;
});
});
async function fillText(id, collection, dbTyp) {
const res = await wixData.query(collection)
.eq("_id", id)
.include(dbTyp)
.find();
let arr = res.items[0][dbTyp].map(e => e.title);
return arr.join(", ")
}
You can see I created a fillText() method that query the Multiple-Item references, where I map the titles to an Array and return a String with a comma between every word. Finally you can cast that String to the TextFields.
Copy the code and be sure you use the correct parameters.

