在MongoDB中通过id查找返回null

时间:2016-03-03 01:16:52

标签: node.js mongodb

我对with tf.name_scope(some_unique_name) as scope: # ... tf.histogram_summary(scope + 'weights', kernel_weights) NodeJS

相当陌生

我正在尝试做一些非常基本的东西,但它似乎没有用。
我确信我在某处遗漏了一些东西。

基本上,我正在尝试根据ID从数据库中找到用户 这是我的代码:

MongoDB

2 个答案:

答案 0 :(得分:2)

我假设您的id类型为string

如果是这种情况,您需要将其转换为适当的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);
        });
    });
}

答案 1 :(得分:0)

我使用此代码:

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

app.get('/api/users/:id', function (req, res) {
    db.collection('users', function (err, collection) {
        collection.findOne({
            _id: new ObjectID(req.params.id)
        }, function (err, result) {
            res.send(result);
        });
    });
});

它有效!