mongoose .save()不起作用

时间:2015-10-02 18:10:12

标签: node.js mongodb mongoose

我正在运行这些代码尝试 将对象 保存到 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');
    });
});

2 个答案:

答案 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);