和尚 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")
。希望这对您有所帮助!
我正在尝试从我的 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")
。希望这对您有所帮助!