首页 文章

验证MongoDB ObjectId

提问于
浏览
1

有没有办法验证MongoDB ObjectId 而根本没有实际访问MongoDB数据库?例如,字符串值 "5c0a7922c9d89830f4911426" 应该为 "true" .

2 回答

  • 2

    请注意,在几乎所有情况下,您只需处理 catch 而不必担心 ObjectID 的有效性,因为如果提供了无效的 ObjectId ,猫鼬会抱怨 throw .

    Model.findOne({ _id: 'abcd' }).exec().catch(error => console.error('error', error));
    

    除此之外,您可以使用mongoose.Types.ObjectId.isValid或正则表达式: /^[a-fA-F0-9]{24}$/

  • 2

    您可以在ObjectId上使用.isValid()方法,尝试使用mongoose:

    var mongoose = require('mongoose');
    var isValid = mongoose.Types.ObjectId.isValid('5c0a7922c9d89830f4911426'); //true
    

相关问题