MongoDB 在管道的 $project 阶段生成与新 ObjectId 相同的 ObjectId
MongoDB generates same ObjectId with new ObjectId in pipeline's $project stage
作为管道的最后阶段,我有一个 $project
这样的 :
{
...
anId : new ObjectId()
}
但是 mongo 正在为每个文档生成相同的 ID。我希望它为每个投影文档生成一个新的不同 Id。如何在管道内做到这一点?
你可以借助 $function
聚合来做到这一点:
{
anId: {
$function: {
body: function() {
return new ObjectId();
},
args: [],
lang: 'js'
}
}
}
作为管道的最后阶段,我有一个 $project
这样的 :
{
...
anId : new ObjectId()
}
但是 mongo 正在为每个文档生成相同的 ID。我希望它为每个投影文档生成一个新的不同 Id。如何在管道内做到这一点?
你可以借助 $function
聚合来做到这一点:
{
anId: {
$function: {
body: function() {
return new ObjectId();
},
args: [],
lang: 'js'
}
}
}