我在学习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)
}
});
结果如下:
但是我再次进入数据库查询发现根本找不到这条数据,请问问题出在哪?我应该怎么解决?
find
的时候数据还没有save
成功,save
成功才回调,这时候find
才会有数据