В предыдущих версиях Mongoose (для node.js) была возможность использовать его без определения схемы.
var collection = mongoose.noSchema(db, "User");
Но в текущей версии функция "noSchema" была удалена. Мои схемы, вероятно, будут часто меняться и действительно не вписываются в определенную схему, так что есть ли новый способ использовать модели без схемы в мангусте?
Ответы:
Я думаю, это то, что вы ищете Mongoose Strict
вариант: строгий
Параметр strict (включен по умолчанию) гарантирует, что значения, добавленные к нашему экземпляру модели, которые не были указаны в нашей схеме, не будут сохранены в db.
Примечание. Не устанавливайте значение false, если у вас нет веской причины.
источник
thing.set(key, value)
потомуthing.key=value
что не работает с этим методом, то есть в противном случае он не сохраняется в базе данных.MySQL
:) И я думаю, что предложение Джонатана / согласно документации API Mongoose Примечание. Не устанавливайте значение false, если у вас нет веской причины . Абсолютно нормально с текущим контекстом (только примерноNO-SQL
)На самом деле
Schema.Types.Mixed
режим "Mixed" ( ) делает именно это в Mongoose ...он принимает объект JS без схемы и произвольной формы - так что все, что вы можете на него бросить. Кажется, вам нужно будет вручную запускать сохранение этого объекта вручную, но это кажется справедливым компромиссом.
источник
any
поле, поэтому на самом деле у нее есть схема. Лучшим ответом на OP является использование,strict: false
как говоритсяПривет, Крис, взгляни на Монгоуса . У меня была такая же проблема с мангустом, так как мои схемы очень часто меняются прямо сейчас в разработке. Mongous позволил мне получить простоту Mongoose, в то же время имея возможность свободно определять и изменять мои «схемы». Я решил просто создать стандартные объекты JavaScript и хранить их в базе данных вот так
Гораздо проще, чем Mongoose, хотя я считаю, что вы упускаете некоторые интересные вещи промежуточного программного обеспечения, такие как pre. Но мне это не нужно. Надеюсь это поможет!!!
источник
Вот подробное описание: [ https://www.meanstack.site/2020/01/save-data-to-mongodb-without-defining.html provided [1 ]
источник
Это больше невозможно.
Вы можете использовать Mongoose с коллекциями, которые имеют схему и драйвер узла или другой модуль mongo для этих без схемы.
https://groups.google.com/forum/#!msg/mongoose-orm/Bj9KTjI0NAQ/qSojYmoDwDYJ
источник