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'); }); });
我刚刚在我的代码中遇到类似的问题。 对于我来说,我正在处理用户文档中的一个对象。 我必须在user.markModified('object')
之前运行user.markModified('object')
,以确保user.save()
的更改已保存到数据库中。 我的理论运行原理是,Mongoose不会自动跟踪未设置或从数据库中删除的项目
请阅读mongoose的这部分文档,并尝试以下操作:
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);