Съхраних JSON данни в таблица. Искам да извлека данни въз основа на userId, userId е свойство на Users Object.
Пример: Искам да извлека всички записи, ако потребителите съдържат 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'