mongoose操作mongo DB数据库问题

我在学习mongoose的时候遇到这样一个问题,我之前创建了一个叫'runoob'的数据库,并且写入了一条数据:
然后我使用mongoose操作这个数据库,写入数据:
图片描述

mongoose.connect('mongodb://localhost/runoob');

var Tasks = new mongoose.Schema({
    title:String,
    likes:Number,
    url:String
});


var Task = mongoose.model('Task',Tasks);

var task = new Task();
task.title = 'hhhh';
task.likes = 130;
task.url = 'www.zhihu.com';
task.save(function(err){
    if (err) throw err;
    console.log('Task saved')
});

Task.find({'title':'hhhh'},function(err,tasks){
    if (err) throw err;
    for (var i=0;i<tasks.length;i++){
        console.log('ID:'+tasks[i]._id);
        console.log('url:'+tasks[i].url)
    }
});

结果如下:
图片描述

但是我再次进入数据库查询发现根本找不到这条数据,请问问题出在哪?我应该怎么解决?

阅读 3k
1 个回答
task.save(function(err){
    if (err) throw err;
    console.log('Task saved')

    Task.find({'title':'hhhh'},function(err,tasks){
        if (err) throw err;
        for (var i=0;i<tasks.length;i++){
            console.log('ID:'+tasks[i]._id);
            console.log('url:'+tasks[i].url)
        }
    });    
});

find 的时候数据还没有 save成功,save成功才回调,这时候find才会有数据

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题