Я сохранил данные JSON в таблице. Я хочу получить данные на основе userId, userId является свойством объекта Users.Как искать данные JSON в mysql, используя регулярное выражение в Strongloop
Пример: Я хочу, чтобы извлечь все записи, если пользователи содержат 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"}]}
Я попробовал следующий запрос в находке() метод, но не рабочий, его с указанием ошибки ..
{"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-журнал'
Вы должны знать, что этот запрос вряд ли будет быстрым. Это почти наверняка потребует сканирование таблицы и, следовательно, будет линейным в количестве строк в вашей таблице. –
@ChrisKitching Я принимаю ваш комментарий, но у нас есть только лимит записей. –