Mam aplikację, która działa na node.js z mongodb i mangusta. Moja aplikacja po prostu wysyła/usuwa/edytuje dane formularzy i za to mam taki model Mongoose:Jak dynamicznie tworzyć schemat mangusty?
var mongoose = require('mongoose');
module.exports = mongoose.model('appForm', {
User_id : {type: String},
LogTime : {type: String},
feeds : [
{
Name: {type: String},
Text : {type: String},
}
]
});
i że działa dobrze!
Teraz chciałbym dodać funkcję do formularza, aby użytkownik mógł dodać pole (lub pola), aby utworzyć i wprowadzić tekst w nim i opublikować go. Tworzenie tej dynamicznej funkcjonalności po stronie klienta nie stanowi problemu, ale rozumiem, że mój plik mongoose.model musi być poprawnie skonstruowany. Moje pytanie brzmi: jak dodać wartości zmiennych (dynamicznie tworzona nazwa danych formularza i jego tekst) do schematu mangusty?
widzę, że za pomocą 'surowe: false' i 'Schema.Types.Mixed' zaleca jednak nie mogę wymyślić .. Co próbowałem:
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var feedSchema = new Schema({strict:false});
module.exports = mongoose.model('appForm', feedSchema);
Wszelkie wskazówki? Z góry dziękuję!
Ten kod działa i publikuje domyślne dane formularza: user_id, LogTime i posortuje tablicę i jej obiekt, ale gdy dodaję inną właściwość do tablicy kanałów, takich jak: customText, to nie aktualizuje tego custo mText, ale reszta ... Przeszukuję, gdzie wciąż robię coś nie tak ... dzięki! – Mar
Jeśli chcesz dodać dowolne właściwości do 'feeds ', to opcja musi być również ustawiona na tym schemacie osadzonym. Zobacz zaktualizowaną odpowiedź. – JohnnyHK
TAK !!! :) druga opcja to dokładnie to, co próbuję zrobić godzinami! Wielkie dzięki! – Mar