Я сохранил данные JSON в таблице. Я хочу получить данные на основе userId, userId является свойством объекта Users.
Пример: я хочу получить все записи, если пользователи содержат 513
Пример данных моей таблицы:
Table name:share
Id name sharedusers
1 xxxx {"accessType":0,"permission":"1","specificUsers":
[{"users":"502,512,513","permission":"1"}]}
2 yyy {"accessType":0,"permission":"1","specificUsers":
[{"users":"47,52,60","permission":"1"}]}
3 zzzz {"accessType":0,"permission":"1","specificUsers":
[{"users":"502,512,513","permission":"1"}]}
Я попытался выполнить следующий запрос в методе find (), но не работает, показывает ошибку.
{"where": {"sharedusers": {"regexp": "/"users":"[^"]*\b513\b/"}}}
{"where": {"sharedusers": {"regexp": /"users":"[^"]*\b513\b/
}}}
{"where": {"sharedusers": /"users":"[^"]*\b513\b/} }
{"where": {"sharedusers": "/"users":"[^"]*\b513\b/"} }
and also i tried restcall
filter[where][share][regexp]=/"users":"[^"]*\b513\b/
В MySql я пробовал следующий код, он работает нормально, но я не знаю, как сделать то же самое в strongloop.
SELECT * FROM share where sharedusers REGEXP '"users":"[^"]*[[:<:]]513[[:>:]]';
Мое определение модели:
{
"name": "share",
"base": "PersistedModel",
"idInjection": true,
"options": {
"validateUpsert": true
},
"properties": {
"name": {
"type": "string"
},
"sharedusers": {
"type": "string"
}
},
"validations": [],
"relations": {},
"acls": [],
"methods": {}
}
Версия Mysql: «5.6.27-log»