我正在尝试使用聚合函数将 id 转换为字符串
{
"$project": {
"_id": {
"$toString": "$_id"
}
}
}
但由于某种原因,我在聚合后丢失了所有其他字段,并且仅获得“_id”字段。我应该改变什么?
当您在
$project
上明确使用 _id
并与表达式或 1
一起使用时,就像仅选择 _id
字段。通常,_id
始终包含在内,因此我们看到它就像{ $project: { _id: 0 } }
一样,0
表示“不要在结果中返回_id”,但包含所有其他字段。
相反,只需使用
$set
:
{
"$set": {
"_id": {
"$toString": "$_id"
}
}
}