mongoose.save() не работает
У меня работает этот код, чтобы сохранить объект в MongoDB.
.save()
никогда не была успешной. код работает нормально.
.save()
не работает.
var conn = mongoose.createConnection(mongoUrl, {auth: {authdb: "admin"}});
conn.on('error', function (err) {
throw err;
});
conn.once('open', function callback() {
console.log("connected to " + mongoUrl);
var cacheSchema = mongoose.Schema({}, {strict: false});
cacheSchema.set('collection', 'caches');
// you need to specify which connection is uing.
var Cache = conn.model('cache', cacheSchema);
var measure = new Cache();
measure['test'] = "test";
measure.save(function(err){
console.log('test');
});
});
Ответы
Ответ 1
Я просто столкнулся с подобной проблемой в своем коде. Для моего, я имел дело с объектом внутри моего пользовательского документа. Я должен был запустить user.markModified('object')
перед user.save()
чтобы гарантировать, что изменения были сохранены в базе данных. Моя теория работы заключается в том, что Mongoose не отслеживал элементы, которые автоматически удаляются или удаляются из базы данных
Ответ 2
Прочтите эту часть документации из мангуста и попробуйте следующее:
var measure = new Cache({test:'teste'});
// or measure.set('test', 'teste');
measure.save(function (err) {
console.log(err);
});
Вы сможете увидеть проблему, если она есть.
Обновление проблемы:
var Cache = conn.model('cache', cacheSchema);
вместо
var Cache = mongoose.model('cache', cacheSchema);