和尚 db.find 不工作

Monk db.find not working

我正在尝试从我的 mongodb 字段中获取一个 ObjectId()。问题是我知道我要抓取的东西在数据库中,但说找不到。我已经验证 token 我正在寻找的数据库正在运行。

代码:

var _db = db.get('tokens');
  console.log('token ' + token);
  //token = 587b09875d690d2f4f11849c
  _db.find({'token': token}, function(e, docs){
  console.log('Docs ' + docs);
  if(!e){
    if(docs.length > 0){
      if(expire < phpTime()){
        cb(true);
      }else{
        console.log('Token has expired');
        cb(false);
      }
    }else{
      cb(false);
      console.log('Token not found in db');
    }
  }else{
    cb(false);
    console.log(e);
  }
});

在我的数据库中:

{
"_id": ObjectId('587b09875d690d2f4f11849d'),
"token": ObjectId('587b09875d690d2f4f11849c'),
"expire": 0
}

我一直收到 console.log('Token not found in db');。我真的不知道为什么它在数据库中,它正在寻找的标记是相同的但 _db.find 找不到它。

我找到了解决方案,显然当我在我引用的字段之一(令牌)中有一个 ObjectId() 时它无法正常工作。所以我使用代码 ObjectId().toHexString() 并将其存储到数据库中,因此它看起来像 5824b9f7611202236ec99c7e 而不是 ObjectId("5824b9f7611202236ec99c7e")。希望这对您有所帮助!