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

javascript - How to create ObjectId in Mongoose 4.0.x from Hex string? - Stack Overflow

programmeradmin1浏览0评论

mongoose.mongo.Types.ObjectId does not have fromString or fromHexString functions. It seems that new mongoose.mongo.Types.ObjectId(hexString) does not create an object id either.

var id = new mongoose.Types.ObjectId(hexString);
db.Record.find({_id:id }, function (err, campaign){
    if(err) console.log(err);
    callback(campaign);
});

mongoose.mongo.Types.ObjectId does not have fromString or fromHexString functions. It seems that new mongoose.mongo.Types.ObjectId(hexString) does not create an object id either.

var id = new mongoose.Types.ObjectId(hexString);
db.Record.find({_id:id }, function (err, campaign){
    if(err) console.log(err);
    callback(campaign);
});
Share Improve this question asked Apr 28, 2015 at 16:40 swoggerswogger 1,1191 gold badge14 silver badges30 bronze badges 4
  • And what's hexString? ObjectId generally accepts hexadecimal strings ? – adeneo Commented Apr 28, 2015 at 16:43
  • 2 I would venture to guess that your problem isn't that campaign is null, but rather that it's returning an array and you're trying to access the properties of the document against the array, not a single document. Change your query to use findById. If that's not the case, what's the value of id before the query is executed? – Brian Shamblen Commented Apr 28, 2015 at 17:56
  • returns empty array. Tired find one and findById still no success. – swogger Commented Apr 29, 2015 at 10:20
  • @adeneo - hex string: '553f8a4286f5c759f36f8e5b' – swogger Commented Apr 29, 2015 at 10:21
Add a ment  | 

1 Answer 1

Reset to default 6

I finally found the method you're looking for. The mongoose.Types.ObjectId class has a static function called createFromHexString, which returns an instance of an ObjectId.

var id = mongoose.Types.ObjectId.createFromHexString(hexString);
db.Record.findOne({_id: id}, function (err, campaign){
    if(err) console.log(err);
    callback(campaign);
});
发布评论

评论列表(0)

  1. 暂无评论