Hi everyone !!!
I am simply having an array here
[{
rating: 'rating 1',
value: '2'
},
{
rating: 'rating 2',
value: '0'
},
{
rating: 'rating 3',
value: '5'
}
];
So, when I put these in the database in an array field, it gives an error (The value does not match the field type Array) and automatically converts it into another form →
[
"[{\n rating: 'rating 1'",
"value: '2'\n }",
"{\n rating: 'rating 2'",
"value: '0'\n }",
"{\n rating: 'rating 3'",
"value: '5'\n }\n ];"
]
So on my page, I having this code for searching in an array →
let arr = [{
rating: 'rating 1',
value: '2'
},
{
rating: 'rating 2',
value: '0'
},
{
rating: 'rating 3',
value: '5'
}
];
let obj = arr.find(o => o.rating === 'rating 1');
let rating1 = obj;
console.log(obj);
let obj2 = arr.find(o => o.rating === 'rating 2');
let rating2 = obj2.value;
console.log(rating2);
let obj3 = arr.find(o => o.rating === 'rating 3');
let rating3 = obj3.value;
console.log(rating3)
This code works when I define the array as ‘arr’
But don’t work when I query my database and then defining the array →
wixData.query("Topic")
.isNotEmpty("rating")
.find()
.then((results) => {
let items = results.items[0];
let arr = items.rating
console.log("arr " + arr)
let obj = arr.find(o => o.rating === 'rating 1');
let rating1 = obj;
console.log(obj);
let obj2 = arr.find(o => o.rating === 'rating 2');
let rating2 = obj2.value;
console.log(rating2);
let obj3 = arr.find(o => o.rating === 'rating 3');
let rating3 = obj3.value;
console.log(rating3)
let obj4 = arr.find(o => o.rating === 'rating 4');
let rating4 = obj4.value;
console.log(rating4);
let obj5 = arr.find(o => o.rating === 'rating 5');
let rating5 = obj5.value;
console.log(rating5);
});
Gives me this error →
Any ideas why this error come ?
Thanks !!!