Ho un bel problema mentre sto tentando di aggiornare un documento incorporato in mongodb. Ho provato due metodi e nessuno dei due ha funzionato, e ho cercato ovunque per motivi per cui non si aggiorna. Ad ogni modo, il mio schema assomiglia a questo (posso notare che il documento incorporato che sto cercando di aggiornare è di tipo Misto).Mangusta non sta aggiornando il documento incorporato
var UserModel = new mongoose.Schema({
account: String,
salt: String,
password: String,
highlight_words: String,
networks: {},
ip: String,
ident: String,
is_connected: Boolean,
account_type: String
});
ho provato ad aggiornare 'reti' con questi due frammenti di codice e non il lavoro. Sto per strapparmi i capelli.
self.userModel.update({account: key}, {networks: self.client_data[key]['networks']}, function(err) {});
E (nota che ho provato ad aggiungere una funzione di callback per salvare(), ed esegue senza errori)
self.userModel.findOne({account: key}, function(err, doc) {
doc.networks = self.client_data[key]['networks'];
doc.markModified('networks').save();
});
Qualsiasi aiuto sarebbe apprezzato! Grazie!
Edit:
il problema era che l'oggetto era come così {'some.thing': {more: 'stuff'}}
ovviamente non piaceva il. che è comprensibile!
Qual è il valore di 'self.client_data [chiave] [ 'reti']'? Prova a sostituirlo con alcuni valori letterali per facilitare il debug. – paulmelnikow
È un oggetto abbastanza grande, so per certo che è popolato però. Ho provato a sostituirlo con 'doc.networks = {test: 123};' e quello non ha ancora salvato il documento .. – rickibalboa
Anche nella prima versione, sto indovinando? Qualche possibilità che non corrisponda a nulla? 'Delete ({account: key})' funziona? – paulmelnikow