Mam dość problem, gdy próbuję zaktualizować osadzony dokument w mongodb. Próbowałem dwóch metod i nie pracowałem, a szukałem wszędzie, z powodów, dla których nie jest to aktualizacja. W każdym razie, mój schemat wygląda tak (mogę zauważyć, że osadzony dokument, który próbuję zaktualizować, jest typu mieszanego).Mongoza nie aktualizuje dokumentu osadzonego
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
});
Próbowałem zaktualizować "sieci" z tymi dwoma fragmentami kodu i nic nie działa. Już wyciągnę włosy.
self.userModel.update({account: key}, {networks: self.client_data[key]['networks']}, function(err) {});
A (uwaga, że próbowałem dodanie oddzwanianie do save(), i wykonuje bez błędu)
self.userModel.findOne({account: key}, function(err, doc) {
doc.networks = self.client_data[key]['networks'];
doc.markModified('networks').save();
});
Każda pomoc będzie mile widziana! Dzięki!
Edit:
Problem polegał na tym, że obiekt był jak tak {'some.thing': {more: 'stuff'}}
oczywiście nie lubił. co jest zrozumiałe!
Jaka jest wartość 'self.client_data [key] [ 'sieci']'? Spróbuj zastąpić go literałami, aby pomóc w debugowaniu. – paulmelnikow
To dość duży obiekt, wiem na pewno, że jest zaludniony. Próbowałem zastąpić go 'doc.networks = {test: 123};' i to wciąż nie zapisało dokumentu .. – rickibalboa
W pierwszej wersji też, zgaduję? Jest szansa, że po prostu nic nie pasuje? Czy 'delete ({account: key})' działa? – paulmelnikow