MongoDB 3.6版本中如何提取ObjectId中的字符串?
在MongoDB 3.6中将ObjectId转换为字符串的替代方案
MongoDB 3.6不支持$toString、$toObjectId和$convert这些较新的操作符,你可以通过以下两种可行的替代方案提取ObjectId的字符串部分:
方案1:使用$substr操作符
利用MongoDB自动将ObjectId转换为其字符串表示的特性,通过$substr截取固定长度(24位)的完整字符串:
$project: { _id: { $substr: ["$_id", 0, 24] } }
方案2:使用$concat操作符拼接空字符串
将ObjectId与空字符串拼接时,MongoDB会自动将其转换为字符串类型:
$project: { _id: { $concat: ["", "$_id"] } }
这两种方法都能在MongoDB 3.6中生效,最终得到你需要的5e822d6c87502b3a9b751786格式的字符串。
内容的提问来源于stack exchange,提问作者marc
相关产品推荐
相关产品推荐

