BREAK
statementThe BREAK statement can be used to break out of a loop, such as inside one created by the FOR statement.
SurrealQL SyntaxBREAK
The following queries shows example usage of this statement.
Creating a person for everyone in the array where the number is less than or equal to 5:
LET $numbers = [1,2,3,4,5,6,7,8,9];
FOR $num IN $numbers {
IF $num > 5 {
BREAK;
} ELSE IF $num < 5 {
CREATE type::thing(
'person', $num
) CONTENT {
name: "Person number " + <string>$num
};
};
};
Breaking out of a loop once unwanted data is encountered:
-- Data retrieved from somewhere which contains many NONE values
LET $weather = [
{
city: 'London',
temperature: 22.2,
timestamp: 1722565566389
},
NONE,
{
city: 'London',
temperature: 20.1,
timestamp: 1722652002699
},
{
city: 'Phoenix',
temperature: 45.1,
timestamp: 1722565642160
},
NONE,
NONE,
{
city: 'Phoenix',
temperature: 45.1,
timestamp: 1722652070372
},
];
-- Sort the data to move the NONE values to the end
-- and break once the first NONE is reached
FOR $data IN array::sort::desc($weather) {
IF $data IS NONE {
BREAK;
} ELSE {
CREATE weather CONTENT $data;
};
};