最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

在MongoDB中通过id查找返回null

运维笔记admin15浏览0评论

在MongoDB中通过id查找返回null

在MongoDB中通过id查找返回null

我是NodeJSMongoDB的新手

我正在尝试做一个非常基本的东西,但它似乎没有工作。 我确信我在某处丢失了某些东西。

基本上,我试图根据id从DB中找到用户。 这是我的代码:

function findUser(id, cb) {
    MongoClient.connect(cs, function(err, db) {
        var col = db.collection('users');
        col.findOne({ _id: id }, function(err, user) {
            // Value of user here is always null
            // However, if I manually check the database, 
            // I can clearly see that the user with the 
            // same id does exists.
            return cb(err, user);
        });
    });
}
回答如下:

我假设你的idstring类型

如果是这种情况,您需要将其转换为适当的Mongo ObjectID

试试这段代码:

var ObjectID = require('mongodb').ObjectID;

function findUser(id, cb) {
    MongoClient.connect(cs, function(err, db) {
        var col = db.collection('users');
        col.findOne({ _id: new ObjectID(id) }, function(err, user) {
            return cb(err, user);
        });
    });
}
发布评论

评论列表(0)

  1. 暂无评论