你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
适用对象: MongoDB vCore
运算符 $toObject
将指定的字符串值转换为 ObjectId。
语法
运算符的 $toObject
语法为:
{ "$toObject": <expression> }
参数
参数 | DESCRIPTION |
---|---|
expression |
要转换为 ObjectId 的指定字符串值 |
例子
示例 1:将_id字段中的前 24 个字母数字字符转换为 ObjectId 值
此查询会删除所有“-”字符,并从_id字段中提取前24个字符,将结果转换为ObjectId。 ObjectId 运算符必须严格是长度为 24 且只包含字母数字字符的字符串。
db.stores.aggregate([
{
"$match": {
"_id": "b0107631-9370-4acd-aafa-8ac3511e623d"
}
},
{
"$project": {
"idAsObjectId": {
"$toObjectId": {
"$substr": [
{
"$replaceAll": {
"input": "$_id",
"find": "-",
"replacement": ""
}
}, 0, 24]
}
}
}
}])
这会导致生成以下输出:
{
"_id": "b0107631-9370-4acd-aafa-8ac3511e623d",
"idAsObjectId": "ObjectId('b010763193704acdaafa8ac3')"
}