最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

FindOne mongo返回null

IT培训 admin 7浏览 0评论

FindOne mongo返回null

我试图找到电影,如果它还不存在,请将其添加到数据库中。

let film = Films.findOne({ "id" :id }, function(err, doc) {
   if (err) throw err;
   else console.log("Film is "+doc);
});

if (!film){
   film = {"id" : id};
   Films.insertOne(film);
}

console.lognull,所以没有错误,但它不能在数据库中创建新的电影。你能说出我做错了吗?

回答如下:

请尝试以下代码。问题与异步有关。在调用findOne语句之前,您需要返回if

Films.findOne({ "id" :id }, function(err, doc) {
    if (err){
        // error
        throw err;
    } else if (doc) {
        // film exists
        console.log("Film is "+doc);
    } else {
        // film doesn't exist
        var film = new Films({"id" : id});
        film.save();
    }
});

该代码将找到一个带有id =的项目到你的id变量并调用完成后提供的函数,传入任何错误及其找到的文档(如果没有找到文档,则传入null)。

然后将打印文档(如果存在),否则它将创建一个新的电影对象并将其保存到数据库中。

FindOne mongo返回null

我试图找到电影,如果它还不存在,请将其添加到数据库中。

let film = Films.findOne({ "id" :id }, function(err, doc) {
   if (err) throw err;
   else console.log("Film is "+doc);
});

if (!film){
   film = {"id" : id};
   Films.insertOne(film);
}

console.lognull,所以没有错误,但它不能在数据库中创建新的电影。你能说出我做错了吗?

回答如下:

请尝试以下代码。问题与异步有关。在调用findOne语句之前,您需要返回if

Films.findOne({ "id" :id }, function(err, doc) {
    if (err){
        // error
        throw err;
    } else if (doc) {
        // film exists
        console.log("Film is "+doc);
    } else {
        // film doesn't exist
        var film = new Films({"id" : id});
        film.save();
    }
});

该代码将找到一个带有id =的项目到你的id变量并调用完成后提供的函数,传入任何错误及其找到的文档(如果没有找到文档,则传入null)。

然后将打印文档(如果存在),否则它将创建一个新的电影对象并将其保存到数据库中。

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论