Ho un'app che funziona su node.js con mongodb e mangusta. La mia app invia semplicemente/elimina/modifiche dei dati del modulo e per questo ho tale modello mangusta:Come creare uno schema di mangusta in modo dinamico?
var mongoose = require('mongoose');
module.exports = mongoose.model('appForm', {
User_id : {type: String},
LogTime : {type: String},
feeds : [
{
Name: {type: String},
Text : {type: String},
}
]
});
e che funziona bene!
Ora, vorrei aggiungere una funzione al modulo in modo che l'utente possa aggiungere un campo (o campi) per formare e inserire un testo in esso e pubblicarlo. La creazione di quella funzionalità dinamica sul lato client non è un problema, ma capisco che il mio mongoose.model deve essere strutturato correttamente. La mia domanda è: come aggiungo i valori delle variabili (nome dei dati del modulo creato dinamicamente e il relativo testo) allo schema di mangusta?
vedo che usando 'rigorosa: false' e 'Schema.Types.Mixed' è consigliato però io non riesco a capire .. Quello che ho cercato:
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var feedSchema = new Schema({strict:false});
module.exports = mongoose.model('appForm', feedSchema);
Qualche consiglio? Grazie in anticipo!
Quel codice funziona e invia i dati di modulo predefiniti: user_id, LogTime e feed array e il suo oggetto ma come aggiungo un'altra proprietà nell'array di feed come: customText, non aggiorna quel custo mText ma il resto ... cercherò dove sto ancora facendo qualcosa di sbagliato ... grazie comunque! – Mar
Se si desidera aggiungere proprietà arbitrarie a 'feeds ', quindi l'opzione deve essere impostata anche su quello schema incorporato. Vedi la risposta aggiornata. – JohnnyHK
SÌ !!! :) La seconda opzione è esattamente quello che sto cercando di fare per ore! Molte grazie! – Mar