я сейчас играю с node.js и MongoDB, используя драйвер node-mongo-native.
Я немного тестировал использование консоли Mongo для хранения и получения объектов JS. Я понял, что если я сохраню объект, содержащий функции / методы, методы и функции также будут храниться в коллекции. Это интересно, поскольку я думал, что функции не могут храниться в MongoDB (за исключением коллекции system.js, как было предложено в документах Mongo ).
Я немного протестировал использование консоли Mongo для хранения и получения объектов JS. Я понял, что если я ...
я сейчас играю с node.js и MongoDB, используя драйвер node-mongo-native.
Я немного тестировал использование консоли Mongo для хранения и получения объектов JS. Я понял, что если я сохраню объект, содержащий функции / методы, методы и функции также будут храниться в коллекции. Это интересно, поскольку я думал, что функции не могут храниться в MongoDB (за исключением коллекции system.js, как было предложено в документах Mongo ).
Я немного протестировал использование консоли Mongo для хранения и извлечения объектов JS. Я понял, что если я ...
я сейчас играю с node.js и MongoDB, используя драйвер node-mongo-native.
Я немного тестировал использование консоли Mongo для хранения и получения объектов JS. Я понял, что если я сохраню объект, содержащий функции / методы, методы и функции также будут храниться в коллекции. Это интересно, поскольку я думал, что функции не могут храниться в MongoDB (за исключением коллекции system.js, как было предложено в документах Mongo ).
Я немного тестировал использование консоли Mongo для хранения и получения объектов JS. Я понял, что если я сохраню объект, содержащий функции / методы, методы и функции также будут храниться в коллекции. Это интересно, поскольку я думал, что функции не могут храниться в MongoDB (за исключением коллекции system.js, как было предложено в документах Mongo ).
Я немного тестировал использование консоли Mongo для хранения и получения объектов JS. Я понял, что если я сохраню объект, содержащий функции / методы, методы и функции также будут храниться в коллекции. Это интересно, поскольку я думал, что функции не могут храниться в MongoDB (за исключением коллекции system.js, как было предложено в документах Mongo ).
Также он будет хранить не только методы, но и каждый метод и член всей цепочки прототипов объекта. Кроме того, мне не нравится такое поведение, и я считаю его нелогичным. Я не должен этого допускать.
Я собирался управлять пользователями в коллекции Mongo. Для этого у меня есть объект User, содержащий все методы пользователя, работающие как прототип для каждого экземпляра пользователя. Сам объект пользователя будет содержать только атрибуты пользователя.
Если я сохраню пользователя в коллекции Mongo, я хочу сохранить только собственные свойства объекта пользователя. Никаких членов-прототипов и тем более методов-прототипов. В настоящее время не вижу, как это чисто сделать. Возможные варианты, которые, как я полагал, могут сработать, следующие:
Однако у меня есть те же проблемы, но наоборот: при загрузке пользователя из коллекции. AFAIK нет возможности изменить прототип объекта в JavaScript после его создания. И также нет способа указать прототип, который будет использоваться, когда Mongo создает экземпляры объектов, полученных из коллекции. Так что в основном я всегда получаю объекты, которые наследуются от Object с помощью Mongo. Насколько я могу судить, с этого момента у меня есть 2 варианта восстановления пригодного для использования объекта пользователя:
Верны ли мои предположения, особенно о возможности указать прототип для результатов запроса? Как правильно это сделать и почему? Я, конечно, не первый, кто пытается сохранить и воскресить объекты в / из MongoDB с помощью node.js.
В настоящее время я бы выбрал подход 2/2. Мне он не очень нравится, но он самый эффективный и единственный, который чисто работает с API. Однако я бы предпочел услышать, что на самом деле API не делает ничего плохого, но я делаю это за то, что не знаю, как правильно его использовать. Так что, пожалуйста, просветите меня :)