mongoose findOne数据不会退出无法正常工作

时间:2017-08-20 15:47:36

标签: node.js mongodb mongoose

mongodb中不存在

user_id 2但是控制台日志不打印'不存在'

var query = PostData.findOne({ 'user_id': '2'});

query.exec(function (err, doc) {
  if(doc) {
    console.log('ok');
  } else {
    console.log('does not exist');
  }
});

没有猫鼬它起作用:

connection.db.collection("PostData", function(err, collection){
   collection.find({ 'user_id': '2'}).toArray(function(err, data){
      console.log(data); // it will print your collection data
   })
});

打印[]

1 个答案:

答案 0 :(得分:0)

无论对象是否存在,MongoDB都会返回一个数组。如果对象存在,那么它们将被数组填充,否则它只是一个空数组。因此,如果要检查用户是否存在,则必须检查doc.length,如果为0,则表示用户不存在。