Вы не можете сериализовать 'document' в строку JSON, используя JSON.stringify, так как он содержит циклические ссылки.Один из способов справиться с циклическими ссылками - реализовать собственный метод stringify, который отслеживает циклические ссылки и исключает их.(см. этот ответ: Как решить циклическую ссылку в сериализаторе json, вызванную двунаправленным отображением гибернации? )
Как уже сказано в комментариях, действительно ли вам нужно сериализовать объект документа?
Я работал с проектом подобного типа (время для рекламы: http://hannotaatio.futurice.com), и мы не сериализуем объект документа. Вместо этого соответствующая информация из объекта документа хранится с использованием JavaScript. Кодна Github, так что не стесняйтесь проверить его.