我正在运行这些代码尝试 将对象 保存到 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');
});
});
答案 0 :(得分:22)
我刚刚在我的代码中遇到了类似的问题。对我来说,我正在处理用户文档中的对象。我必须在user.markModified('object')
之前运行user.save()
以确保更改已保存到数据库中。
我的运行理论是,Mongoose没有自动跟踪未自动或从数据库中删除的项目
答案 1 :(得分:3)
请阅读mongoose的this part文档并尝试以下操作:
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);