猿问

mongoose findOne先查找,没有找到的话就保存

function store2db(libObj){

  console.log(libObj);

  for (var i = 0; i < libObj.length; i++) {

     var jsLib = new JsLib({

        name: libObj[i].lib,

        libsNum: libObj[i].num

    });


    // 调试发现,这里不会运行,如果没找到的话,libDoc应该是Null,应该会运行这一步的啊

    JsLib.findOne({'name': libObj[i].lib,'libsNum': libObj[i].num},function(err,libDoc){

      if(err) console.log(err);

      // console.log(libDoc)

      if (!libDoc){

        jsLib.save(function(err,result){

          if(err) console.log('保存数据出错' + err);

        });

      }

    })

  }

}

为什么findOne函数的回调不会执行呢,按理来说,没有找到的话,应该保存到数据的啊~还没找到解决方案,求助大家。

一只斗牛犬
浏览 1275回答 1
1回答

慕妹3242003

findone方法都没有调用?是不是jsLib对象引入的有问题呢?看看命令窗口有没有错误输出。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答