Я использую draft-js с некоторыми плагинами в качестве редактора в приложении activjs.
Я ищу хороший способ хранения данных на БД и извлечения этих данных.
Я думаю, что лучшим решением будет сохранение данных в двух разных форматах:
- сериализованный необработанный json, чтобы в конечном итоге преобразовать содержимое для повторного редактирования в черновике
- другой формат для использования в запросе и в пост-просмотре
В моем посте у меня есть:
Теперь я думаю сохранить только текст для ссылки и тегов и использовать linkify во внешнем интерфейсе для отображения тегов href, но я ищу хорошие решения для упоминаний. Может быть сериализованное поле с текстом упоминания и идентификатором пользователей?
Я ищу решения, которые помогут мне с поиском поста по контенту и для извлечения большого количества контента с помощью быстрого запроса.
Это черновик JSON из двух строк с хэштегом и упоминанием (в entityMap)
{
"blocks": [
{
"key": "19vrn",
"text": "row 1 with mention and #hashtag",
"type": "unstyled",
"depth": 0,
"inlineStyleRanges": [],
"entityRanges": [
{
"offset": 11,
"length": 5,
"key": 0
}
],
"data": {}
},
{
"key": "46e6h",
"text": "row 2",
"type": "unstyled",
"depth": 0,
"inlineStyleRanges": [],
"entityRanges": [],
"data": {}
}
],
"entityMap": {
"0": {
"type": "mention",
"mutability": "SEGMENTED",
"data": {
"mention": {
"name": "mention",
"id": 53,
"avatar": "b26be1f0-942b-11e9-bebb-a788574b8d0e.jpg",
"title": ""
}
}
}
}
}