最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

在MongoDB中通过id查找返回null

IT培训 admin 9浏览 0评论

在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);
        });
    });
}

在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. 暂无评论