Potrzebuję pomocy w tym zakresie. Mam projekt tego węzła, który działał od początku. Niedawno zacząłem dostawać komunikat o tym, że mangusta nie jest w stanie aktualizować __v __v w tym samym czasie (szczegóły poniżej). Moja pierwsza myśl była taka, że spowodowała to nowa aktualizacja mangusty, ale nie jestem pewien. Każda pomoc zostanie doceniona. DziękiBłąd mongozy: Nie można aktualizować __v i __v w tym samym czasie
/.../node_modules/mongoose/lib/utils.js:413
throw err;
^
MongoError: exception: Cannot update '__v' and '__v' at the same time
at Object.toError (/.../node_modules/mongoose/node_modules/mongodb/lib/mongodb/utils.js:114:11)
at /.../node_modules/mongoose/node_modules/mongodb/lib/mongodb/db.js:1131:31
at /.../node_modules/mongoose/node_modules/mongodb/lib/mongodb/db.js:1846:9
at Server.Base._callHandler (/.../node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/base.js:445:41)
at /.../node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/server.js:478:18
at MongoReply.parseBody (/.../node_modules/mongoose/node_modules/mongodb/lib/mongodb/responses/mongo_reply.js:68:5)
at null.<anonymous> (/.../node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/server.js:436:20)
at EventEmitter.emit (events.js:95:17)
at null.<anonymous> (/.../node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/connection_pool.js:201:13)
at EventEmitter.emit (events.js:98:17)
EDIT Wygląda na to, że błąd jest generowany, kiedy próbuję zapisać. Oto metoda zapisu, którą wywołuję;
save: function (callback) {
// A Helper function
function setID(instance, id) {
instance._id = id;
};
var self = this; // Preserve reference to the instance
var update = Utils.clone(this);
delete update._id; // Delete the _id property, otherwise Mongo will return a "Mod on _id not allowed" error
// Prepare updates for saving
for (var key in update) {
if (update[key] == undefined)
delete update[key];
if (key == 'company' || key == 'local_currency')
update[key] = update[key].getID();
}
PreferenceModel.save(this._id, update, function (err, savedDoc) {
if (err) callback(err);
else {
if (!self.getID()) // If the object didn't previously have an _id property
setID(self, savedDoc._id);
callback(null, self);
}
});
}
i oto, jak to nazywam;
preference.save(function (err, savedPreference) {
if (err) callback(err);
else callback(null);
});
również, tutaj jest metoda PreferenceModel.save;
function save(id, update, callback) {
Preference.findByIdAndUpdate(id, update, {upsert: true}, function (err, savedDoc) {
if (err) callback(err);
else callback(null, savedDoc);
});
}
Czy możesz zmodyfikować swoje pytanie w celu uwzględnienia kodu, który powoduje błąd? – JohnnyHK
Tak, będziemy musieli zobaczyć kod tutaj. –
OK, dodałem kod – user3863128