提问者:小点点

MongoJS节点findOne错误地不返回任何结果


使用mongojs:https://github.com/mafintosh/mongojs

查找所有内容


    db.users.find({}, function(err,users){
        if (err) throw err;
        console.log(users);
    })

返回用户。看起来很棒


    [{ _id: 53f2faa6aed1689e84982b8b,
        facebook: { 
            email: 'myname@gmail.com',
            name: 'Juan Atkins',
            id: '764969936' },
        __v: 0 
    }]

当我试图通过用户ID查找该用户时:failed


    db.users.findOne({
        _id:  '53f2faa6aed1689e84982b8b'
    }, function(err, user) {
        if (err) throw err;
        console.log(user);
    });

返回[]

我知道数据库里有数据。我试过用不同的键(比如名称)搜索。为什么它找不到数据?


共1个答案

匿名用户

您必须使用objectid:http://mongodb.github.io/node-mongodb-native/api-bson-generated/objectic.html

db.users.findOne({
    _id:  new ObjectID('53f2faa6aed1689e84982b8b')
}, function(err, user) {
    if (err) throw err;
    console.log(user);
});